2

因此,我试图围绕我刚刚在Nicholas Zakas的“专业 Javascript”中读到的内容展开思考:它以以下代码为例:

window.onerror = function(message, url, line){
alert(message);
return false;
};

然后说:“通过返回 false,此函数有效地成为整个文档的 try-catch 语句,捕获所有未处理的运行时错误。此事件处理程序是防止浏览器报告错误的最后一道防线..”

所以我的问题是,如果遇到任何错误,这段代码会阻止脚本的执行停止吗?还是有任何错误仍会停止执行?谢谢。


编辑:也许一个更好的问题是,为什么这不是防止脚本在遇到错误时停止执行的好方法..

4

2 回答 2

0

一个非常简单的测试表明情况并非如此(至少对于 Chrome):

window.onerror = function(message, url, line){
    alert(message);
    return false;
};
throw 'Catch this error';

没有警报,未捕获的异常出现在控制台中。

于 2012-05-28T19:57:11.113 回答
0

我相当确定无论是否忽略异常,语法错误之类的东西都会被认为是致命的。

使用这是一个坏主意,部分原因是浏览器的错误控制台中已经有一个完全足够的异常处理机制,但主要是因为如果您的网站有错误,那么在您的用户面前爆破它们不会使它们可能返回。

于 2012-05-28T19:57:43.000 回答