错误处理


脚本错误

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;

点赞 取消点赞 收藏 取消收藏

<< 上一篇: 对话框

>> 下一篇: 作为 Window 对象属性的文档元素