Window对象的onerror属性是一个事件处理程序,当未捕获的异常传播到调用栈上时就会调用它,并把错误信息输出到浏览器的JavaScript控制台上。
window.onerror = function (message, filename, lineno, colno, error) {
console.log("出错了!--> %s", error.stack);
};
五个参数的含义:
message:出错信息
filename:出错脚本的网址
lineno:行号
colno:列号
error:错误对象
老式浏览器只支持前三个参数。
并不是所有的错误,都会触发JavaScript的error事件(即让JavaScript报错),只限于以下三类事件。
- JavaScript语言错误
- JavaScript脚本文件不存在
- 图像文件不存在
以下两类事件不会触发JavaScript的error事件。
- CSS文件不存在
- iframe文件不存在
注意:onerror处理程序的返回值也很重要。如果onerror处理程序返回false,它通知浏览器事件处理程序已经处理了错误,不需要其他操作。也就是说,浏览器不应该显示它自己的错误信息。由于历史原因,Firefox里的错误处理程序必须返回true来表示它已经处理了错误。
网友评论