牛奶老哥哥
你看的是阮一峰老师的 es6 吧,你看的这个例子上面不是写了解释出错原因的例子吗var gen = function* gen(){
yield console.log('hello');
yield console.log('world');
}
var g = gen();
g.next();
g.throw();
// hello
// Uncaught undefined上面代码中,g.throw抛出错误以后,没有任何try...catch代码块可以捕获这个错误,导致程序报错,中断执行。 你讲yield 语句放到try catch 语句外面不就没有任何try...catch代码块可以捕获这个错误了吗,当然就报错了