JavaScript Generator.prototype.throw() 方法是 JavaScript 中的內置方法,用於通過向生成器拋出錯誤來恢複生成器的執行。
用法:
gen.throw(exception);
參數:該函數接受如上所述和如下所述的單個參數:
- exception:該參數保存要拋出的異常。
返回值:此方法返回一個包含兩個屬性的對象:
- done:它有它的值
- true- 對於超過迭代序列末尾的迭代器。
- false- 對於能夠產生序列中下一個值的迭代器。
- value:它包含迭代器返回的任何 JavaScript 值。
下麵的示例說明了 Generator.prototype.throw() 方法,如下所示:
示例 1:此示例展示了在 Javascript 中使用 Generator.prototype.throw() 方法。
javascript
function* GFG() {
while (true) {
try {
yield "Null";
} catch (e) {
console.log('Generator.prototype.throw()');
}
}
}
const geeks = GFG();
console.log(geeks.next());
console.log(geeks.throw(new Error('Error caught!')));
輸出:
Object { value: "Null", done: false } "Generator.prototype.throw()" Object { value: "Null", done: false }
示例 2:此示例展示了在 Javascript 中使用 Generator.prototype.throw() 方法。
javascript
function* GFG(pageSize = 1, list) {
let output = [];
let index = 0;
while (index < list.length) {
try {
output = [];
for (let i = index; i < index + pageSize; i++) {
if (list[i]) {
output.push(list[i]);
}
}
yield output;
index += pageSize;
} catch (e) {
console.log('Generator.prototype.throw()');
}
}
}
list = [1, 2, 3, 4, 5, 6, 7, 8]
let geek = GFG(3, list);
console.log(geek.next());
console.log(geek.next());
console.log(geek.next());
console.log(geek.throw(new Error('Error caught!')));
輸出:
Object { value: Array [1, 2, 3], done: false } Object { value: Array [4, 5, 6], done: false } Object { value: Array [7, 8], done: false } "Generator.prototype.throw()" Object { value: Array [7, 8], done: false }
支持的瀏覽器:Generator.prototype.throw()方法支持的瀏覽器如下:
- 穀歌瀏覽器 39 及以上版本
- 火狐瀏覽器 26 及以上版本
- Opera 26 及以上
- Safari 10 及以上版本
- 邊 13 及以上
我們有 Javascript 生成器方法的完整列表,要檢查這些方法,請閱讀 Javascript Generator Reference 文章。
相關用法
- JavaScript Generator next()用法及代碼示例
- JavaScript Generator return()用法及代碼示例
- JavaScript Generator.prototype.throw()用法及代碼示例
- JavaScript Generator.prototype.next()用法及代碼示例
- JavaScript Generator.prototype.return()用法及代碼示例
- JavaScript Generator()用法及代碼示例
- JavaScript Math cosh()用法及代碼示例
- JavaScript Math sinh()用法及代碼示例
- JavaScript Math sin()用法及代碼示例
- JavaScript Math cos()用法及代碼示例
- JavaScript Math tan()用法及代碼示例
- JavaScript Math abs()用法及代碼示例
- JavaScript Math pow()用法及代碼示例
- JavaScript Math asin()用法及代碼示例
- JavaScript Math acos()用法及代碼示例
- JavaScript Math atan()用法及代碼示例
- JavaScript Math ceil()用法及代碼示例
- JavaScript Math floor()用法及代碼示例
- JavaScript Math round()用法及代碼示例
- JavaScript Math trunc()用法及代碼示例
- JavaScript Math max()用法及代碼示例
- JavaScript Math min()用法及代碼示例
- JavaScript Math sqrt()用法及代碼示例
- JavaScript Math sign()用法及代碼示例
- JavaScript Math log()用法及代碼示例
注:本文由純淨天空篩選整理自SHUBHAMSINGH10大神的英文原創作品 JavaScript Generator throw() Method。非經特殊聲明,原始代碼版權歸原作者所有,本譯文未經允許或授權,請勿轉載或複製。