第17章 错误处理与调试
17.2 错误处理
17.2.3 错误(error)事件
要指定 onerror 事件处理程序,需要使用如下 DOM0 级技术
window.onerror = function (message, url, line) {
alert(message);
}
只要发生错误,无论是否浏览器生成,都会触发 error 事件,并执行这个事件处理程序,加入以下代码,可以阻止浏览器报告错误的默认行为。
window.onerror = function (message, url, line) {
alert(message);
return false; // 返回 false 阻止浏览器报告错误的默认行为
}
返回 false ,这个函数实际上就充当了整个文档中的 try-catch 语句,可以捕获所有无代码处理的运行时错误。
17.2.7 把错误记录到服务器
function logError(sev, msg) {
var img = new Image();
img.src = "log.php?sev=" + encodeURIComponent(sev) + "&msg=" + encodeURIComponent(msg);
}
- 所有浏览器都支持 Image 对象,包括哪些不支持 XMLHttpRequest 对象的浏览器;
- 可以避免跨域限制;
- 在记录错误的过程中出问题的概率比较低。
网友评论