Generator.prototype.throw()
Baseline Widely available
This feature is well established and works across many devices and browser versions. It’s been available across browsers since September 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
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