网页前端 Exception 未捕捉处理后 js 就停止执行了 有办法统一捕捉并忽略吗

2018-08-30 10:13:25 +08:00
 whereabouts
发生在 jquery 的 ajax 或者普通 JavaScript 代码写错的时候

$.ajax({
type: 'POST',
...参数略过,
success: function(res){
},
failure: function(err){
},
});

JavaScript 最后面设置了两个捕捉错误并忽略的代码( StackOverflow 上搜的):
window.onerror = function(error){
console.log(error)
}
window.addEventListener('error', function(e) {
console.log(e)
});

使用时当 ajax 目标网址宕机(端口关闭)时,chrome 的 console 报错并且 JavaScript 停止执行,应该是没有处理 Exception 导致的。
个人目前的理解是$.ajax 的 failure 对用函数除了网络连接失败之类的错误,而末尾两端代码捕获并处理未显式 Handle 的异常。
但是无论是 ajax 失败还是其它 JavaScript 代码写错而导致的异常都会使 JavaScript 挂掉,请指点一下自己是哪里理解错了?
1242 次点击
所在节点    程序员
3 条回复
xxx749
2018-08-30 10:19:51 +08:00
你只是捕获了,并没有做处理,在代码底部加上 return false,具体参考高程 3,506 页
molvqingtai
2018-08-30 10:35:19 +08:00
try{

} cache {

}
doublleft
2018-08-30 15:21:15 +08:00
@molvqingtai

try / cache 是啥

这是一个专为移动设备优化的页面(即为了让你能够在 Google 搜索结果里秒开这个页面),如果你希望参与 V2EX 社区的讨论,你可以继续到 V2EX 上打开本讨论主题的完整版本。

https://www.v2ex.com/t/484462

V2EX 是创意工作者们的社区,是一个分享自己正在做的有趣事物、交流想法,可以遇见新朋友甚至新机会的地方。

V2EX is a community of developers, designers and creative people.

© 2021 V2EX