La méthode throw
()
lève une erreur dans un générateur.
Syntaxe
gen.throw(exception)
Paramètres
exception
- L'exception à lever. On préfèrera généralement utiliser un objet qui est une instance d'
Error
.
Valeur de retour
Un Object
avec deux propriétés :
done
(un booléen)- Qui vaut
true
lorsque l'itérateur a fini de parcourir la suite. Dans ce cas,value
correspondra éventuellement à la valeur de retour de l'itérateur. - Qui vaut
false
si l'itérateur a pu produire la prochaine valeur de la série.
- Qui vaut
value
: une valeur renvoyée par l'itérateur. Lorsquedone
vauttrue
, cette valeur peut être absente ou valoirundefined
.
Exemples
Utiliser throw()
Dans l'exemple suivant, on utilise un générateur simple et on génère une exception grâce à la méthode throw()
. Une exception peut être interceptée avec un bloc try...catch
usuel.
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
Spécification | Statut | Commentaires |
---|---|---|
ECMAScript 2015 (6th Edition, ECMA-262) La définition de 'Generator.prototype.throw' dans cette spécification. |
Standard | Définition initiale. |
ECMAScript 2017 Draft (ECMA-262) La définition de 'Generator.prototype.throw' dans cette spécification. |
Projet |
Compatibilité des navigateurs
Fonctionnalité | Chrome | Firefox (Gecko) | Internet Explorer | Opera | Safari |
---|---|---|---|---|---|
Support simple | ? | 26 (26) | ? | ? | ? |
Fonctionnalité | Android | Chrome pour Android | Firefox Mobile (Gecko) | IE Mobile | Opera Mobile | Safari Mobile |
---|---|---|---|---|---|---|
Support simple | ? | ? | 26.0 (26) | ? | ? | ? |
Voir aussi
Étiquettes et contributeurs liés au document
Étiquettes :
Contributeurs à cette page :
SphinxKnight
Dernière mise à jour par :
SphinxKnight,