Cette page a été traduite à partir de l'anglais par la communauté.Vous pouvez contribuer en rejoignant la communauté francophone sur MDN Web Docs.
Generator.prototype.throw()
Baseline Widely available
Cette fonctionnalité est bien établie et fonctionne sur de nombreux appareils et versions de navigateurs. Elle est disponible sur tous les navigateurs depuis septembre 2016.
La méthodethrow() lève une erreur dans un générateur.
Dans cet article
Syntaxe
js
gen.throw(exception);Paramètres
Valeur de retour
UnObject avec deux propriétés :
done(un booléen)- Qui vaut
truelorsque l'itérateur a fini de parcourir la suite. Dans ce cas,valuecorrespondra éventuellement à la valeur de retour de l'itérateur. - Qui vaut
falsesi l'itérateur a pu produire la prochaine valeur de la série.
- Qui vaut
value: une valeur renvoyée par l'itérateur. Lorsquedonevauttrue, cette valeur peut être absente ou valoirundefined.
Exemples
>Utiliserthrow()
Dans l'exemple suivant, on utilise un générateur simple et on génère une exception grâce à la méthodethrow(). Une exception peut être interceptée avec un bloctry...catch usuel.
js
function* gen() { while (true) { try { yield 42; } catch (e) { console.log("Erreur interceptée !"); } }}var g = gen();g.next();// { value: 42, done: false }g.throw(new Error("Quelque chose s'est mal passé"));// "Erreur interceptée !"// { value: 42, done: false }Spécifications
| Specification |
|---|
| ECMAScript® 2026 Language Specification> # sec-generator.prototype.throw> |