Generator.prototype.throw()
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
verdadero
si el iterador ya llegó al final de la secuencia. En este casovalor
define opcionalmente el valor de retorno del iterador. - Es
falso
si 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 sidone
isverdadero
.
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
Specification |
---|
ECMAScript Language Specification # sec-generator.prototype.throw |
Compatibilidad con navegadores
BCD tables only load in the browser