尝试使用addEventListener捕获
try...catch with addEventListener
本文关键字:addEventListener 捕获 更新时间:2023-09-26
尝试。。。catch块在来自window
上注册的事件侦听器时不会捕获此错误。在Firefox、Chrome和Safari中也是如此
我意识到我可以包装函数的内容,但为什么它不能以这种形式工作?我希望用这种方式包装大量的代码,并默默地跟踪错误。
try{
function onLoad(){
var a = b;
}
//onLoad(); //This is caught
window.addEventListener('load', onLoad, false); //This is not caught
}
catch(e){
console.log("Catch: ", e);
}
发生这种情况是因为以下代码:
window.addEventListener('load', onLoad, false); //This is not caught
在页面加载后运行。此代码在try-catch块之后执行。要获得所需的行为,您必须使用window.onerror.
因为代码
window.addEventListener('load', onLoad, false)
只需调用将函数onLoad附加到窗口的"onLoad"事件,就不会引发任何错误,错误来自函数onLoad本身,您应该在该函数
相关文章:
- 没有找到相关文章