错误处理
Window 对象的 onerror
属性是一个事件处理函数,当未捕获的异常传播到调用栈上时就会调用它,并把错误消息输出到浏览器的 JavaScript 控制台上,如果给这个属性赋一个函数,那么只要这个窗口中发生了 JavaScript 错误,就会调用该函数。
由于历史原因,Window 对象的 onerror
事件处理函数的调用通过三个字符串参数,而不是通过通常传递的一个事件对象,第一个参数是描述错误的信息,第二个参数是存放引发错误的 JavaScript 代码所在文档的URL,第三个参数是文档中发生错误的行数。
如果 onerror
处理函数返回 false
,则通知浏览器已经处理了错误,不需要其他操作,而 Firefox 里的错误处理函数必须返回 true
来表示它已经处理了错误。
onerror
处理函数是早期 JavaScript 的遗物,那个时候还没有 try
/catch
异常处理语句,现代代码已经很少使用它。下面是是一个示例:
window.onerror = function (msg, url, line) {
if (onerror.num++ < onerror.max) {
alert("ERROR: " + msg + "\n" + url + ":" + line);
return true;
}
};
onerror.max = 3;
onerror.num = 0;
无评论