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.
throw()
メソッドは、ジェネレーターの例外を、エラーを発生させることで再開し、 done
と value
の 2 つのプロパティを持ったオブジェクトを返します。
構文
gen.throw(exception)
引数
返値
例
throw() の使用
次の例では、簡単なジェネレーターと、 throw
メソッドを用いて発生させるエラーを示します。エラーは通常 try...catch
ブロックによって受け取られます。
js
function* gen() {
while (true) {
try {
yield 42;
} catch (e) {
console.log("Error caught!");
}
}
}
const g = gen();
g.next();
// { value: 42, done: false }
g.throw(new Error("Something went wrong"));
// "Error caught!"
// { value: 42, done: false }
仕様書
Specification |
---|
ECMAScript Language Specification # sec-generator.prototype.throw |
ブラウザーの互換性
BCD tables only load in the browser