JavaScript捕捉错误的两种方法

一、捕捉方法

1.定义window.onerror事件处理程序

window.onerror = function(sMessage,sUrl,sLine)
{
    var err = "";
    err += "错误信息:" + sMessage + "\n";
    err += "错误文件:" + sUrl + "\n";
    err += "错误行数:" + sLine + "\n";
    alert(err);
}
throw new Error("出错啦!");
document.write("mzwu.com");

如果不想让IE报错,隐藏所有错误信息只需return true即可:

window.onerror = function(){return true;}

2.使用try...catch语句

try{
    alert(ok);
}catch(e){
    var msg = "";
    msg += "错误类型(文本):" + e.name + "\n";
    msg += "错误类型(数字):" + e.number + "\n";
    msg += "错误信息:" + e.message + "\n";
    msg += "错误信息:" + e.description + "\n";
    alert(msg);
}
document.write("mzwu.com");

二、两种方法比较

使用事件处理程序最多只能阻止IE报错,并不能处理错误,所以使用方法一程序碰到错误下边的语句就不能再执行(不能输出"mzwu.com"),try...catch语句能很好的捕捉错误并进行处理(输出"mzwu.com"),所以在脚本输写过程中我们应尽量使用try...catch语句来捕捉错误。

评论: 0 | 引用: 0 | 查看次数: 6795
发表评论
登录后再发表评论!