gpt4 book ai didi

Javascript 错误停止代码执行

转载 作者:数据小太阳 更新时间:2023-10-29 05:30:09 25 4
gpt4 key购买 nike

只要事件处理程序内部发生错误,它就会完全停止代码执行,因此不会调用第二个事件回调。

例如:

$(function() {
window.thisDoesntExist();
}
$(function() {
//Do something unharmful and unrelated to the first event
}

您可以通过在两个匿名函数中添加 try/catch 轻松解决这个(简化的)示例中的问题,但实际上这些函数通常会添加几个其他事件处理程序,而这些事件处理程序又需要 try/catch。我最终得到了非常重复的代码,其中塞满了 try/catch block 。

我的项目采用模块化设计,其中每个功能都在不同的 JS 中(并在构建过程中连接起来)。我正在寻找一种更通用的方法来处理每个功能内部的错误,以便错误不会停止其他功能的代码执行。

我已经尝试过以下解决方案:- window.onerror(即使您在此函数中返回 true,代码执行也会停止)- $(window).error() => 弃用并且代码执行停止

最佳答案

您可以创建一个辅助函数来防止重复相同的样板代码。

function tryFunction(f, onerror) {
try {
if (typeof f == 'function') {
return f();
}
} catch (e) {
return onerror(e);
}
}

$(function() {
var result = tryFunction(window.thisDoesNotExist, function (error) {
alert('Whoops: ' + error);
});
});

I created a little demonstration .它略有不同,但想法相同。

关于Javascript 错误停止代码执行,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/16729687/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com