为了账号安全,请及时绑定邮箱和手机立即绑定

error.js 里面的疑问

我发现代码error.js 里面就算没有后面的.catch()那部分,也会输出错误信息,如果我把.catch()括号里面的内容改为

console.log('Errorrrrrr:',error.message);

输出的错误信息还是上面的Error bye,也就表示并没有执行catch里面的内容,和老师讲的原理不一样呢,可以帮忙解释一下吗?


正在回答

2 回答

楼上已经回答了,我也说一下关于 throw new Error('error')的看法:

  1. 如果不是放在定时器里面,后面的catch可以捕获到;

   2.如果放在定时器里面(又或者跟之前的课程一样放在一个立即执行函数里面),后面的catch就捕获不到了,不过全局window.onerror可以捕获到。

综上,本质是函数是否进入同一个执行栈,从而影响后续的捕获。

1 回复 有任何疑惑可以回复我~

throw new Error("bye"),不应该放在定时器里执行,那样捕捉不到,拿出来就可以了

0 回复 有任何疑惑可以回复我~

举报

0/150
提交
取消

error.js 里面的疑问

我要回答 关注问题
意见反馈 帮助中心 APP下载
官方微信