在 JavaScript 中,onerror 事件类型是在 JavaScript 代码发生错误时触发的,利用该事件可以捕获并处理错误信息。onerror 事件类型与 try/catch 语句功能相似,都用来捕获页面错误信息。不过 onerror 事件类型无须传递事件对象,且可以包含已经发生错误的解释信息。
在下面示例中,当页面发生编译错误时,将会触发 onerror 事件注册的事件处理函数,并弹出错误信息。
window.onerror = function(message){ // 捕获浏览器错误行为
alert("错误原因:" + arguments[0] + "\n错误URL: " + arguments[1] + "\n错误行号: " + arguments[2]);
return true; // 禁止浏览器显示标准出错信息
}
a.innerHTML = ""; // 制造错误机会
在 onerror 事件处理函数中,默认包含 3 个参数:其中第 1 个表示错误信息,第 2 个表示出错文件的 URL,第 3 个参数表示文件中错误位置的行号。
onerror 事件处理函数的返回值可以决定浏览器是否显示一个标准出错信息。如果返回值为 false,则浏览器会弹出错误提示对话框,显示标准的出错信息;如果返回值为 true,则浏览器不会显示标准出错信息。