JavaScript中的try…catch和异常处理 – WEB前端开发WEB前端开发

我是创始人李岩:很抱歉!给自己产品做个广告,点击进来看看。  

当我们在网上冲浪时,总会看到带有 runtime 错误的 Javascript 警告框,同时会询问我们“是否进行 debug?”。像这样的错误信息或许对开发人员有用,对用户则未必。当错误发生时,他们往往会选择离开这个站点。

有两种在网页中捕获错误的方法:

  • 使用 try…catch 语句。(在 IE5+、Mozilla 1.0、和 Netscape 6 中可用)
  • 使用 onerror 事件。这是用于捕获错误的老式方法。(Netscape 3 以后的版本可用)

自己使用例外处理来捕获JavaScript的异常。特别是在ajax开发过程中
如下是Javascript的例外处理的一个实例。

var array = null;
try {
    document.write(array[0]);
} catch(err) {
    document.writeln(“Error name: ” + err.name + “”);
    document.writeln(“Error message: ” + err.message);
}
finally{
    alert(“object is null”);
}

程序执行过程

1. array[0]的时候由于没有创建array数组,array是个空对象,程序中调用array[0]就会产生object is null的异常
2. catch(err)语句捕获到这个异常通过err.name打印了错误类型,err.message打印了错误的详细信息.
3. finally类似于java的finally,无论有无异常都会执行.
现总结Error.name的六种值对应的信息:
1. EvalError:eval()的使用与定义不一致
2. RangeError:数值越界
3. ReferenceError:非法或不能识别的引用数值
4. SyntaxError:发生语法解析错误
5. TypeError:操作数类型错误
6. URIError:URI处理函数使用不当

随意打赏

提交建议
微信扫一扫,分享给好友吧。