Generator.prototype.throw()
Baseline
Ampliamente disponible
Esta característica está consolidada y funciona en muchos dispositivos y versiones de navegador. Está disponible en todos los navegadores desde septiembre de 2016.
El método throw() reanuda la ejecución de un generador al lanzar un error en éste y regresar un objeto con las dos propiedades done y value.
Sintaxis
gen.throw(excepción)
Parámetros
Valor de retorno
Un Object con dos propiedades:
-
done(booleano)- Es
verdaderosi el iterador ya llegó al final de la secuencia. En este casovalordefine opcionalmente el valor de retorno del iterador. - Es
falsosi el iterador puede dar un siguiente valor en la secuencia. Es equivalente a no definir la propiedaddone.
- Es
-
value- cualquier valor Javascript regresado por el iterador. Éste puede ser omitido sidoneisverdadero.
Examples
>Using throw()
The following example shows a simple generator and an error that is thrown using the throw method. An error can be caught by a try...catch block as usual.
js
function* gen() {
while (true) {
try {
yield 42;
} catch (e) {
console.log("Error caught!");
}
}
}
var g = gen();
g.next();
// { value: 42, done: false }
g.throw(new Error("Something went wrong"));
// "Error caught!"
// { value: 42, done: false }
Especificaciones
| Especificación |
|---|
| ECMAScript® 2027 Language Specification> # sec-generator.prototype.throw> |