JavaScript错误处理操作实例详解错误处理操作实例详解
本文实例讲述了JavaScript错误处理操作。分享给大家供大家参考,具体如下:
良好的错误处理机制可以让用户得到及时的提醒,所以让我们来看看 JavaScript 提供了哪些针对错误处理的工具和方法吧
O(∩_∩)O~
1 try-catch 语句语句
ECMA-262 第 3 版引入了 try-catch 语句,这时 JavaScript 处理异常的标准方式:
try{
//可能会导致错误的代码
} catch (error){
//错误处理
}
如果 try 块中的代码发生了错误,会立即执行 catch 块的代码。 catch 块有一个包含错误信息的对象,它有一个 message 属
性,表示的是浏览器给出的错误消息:
<script type="text/javascript">
try {
window.someNonexistenceFunction();
} catch (error) {
console.log(error.message);
}
</script>
message 属性是所有的浏览器都支持的属性,所以在跨浏览器编程中,最好只使用这个属性。
1.1 finally 子句子句
finally 子句是可选的,如果使用了 finally 子句,里面包含的代码是绝对会被执行的!甚至连 return 语句都无法阻止它被执行:
<script type="text/javascript">
function testFinally() {
try {
return 2;
} catch (error) {
return 1;
} finally {
return 0;
}
}
console.log(testFinally());//0
</script>
IE7 及更早的版本有一个 bug:除非有 catch 子句,否则 finally 中的代码永远不会被执行!IE8 修复了这个 bug。
注意:只要在代码中使用了 finally 子句,那么不管 return 放在 try 还是 catch 语句中,都会被忽略!
1.2 错误类型错误类型
当错误发生时,会抛出相应类型的错误对象。ECMA-262 定义了 7 种错误类型:
Error
EvalError
RangeError
ReferenceError
SyntaxError
TypeError
URIError
1.2.1 Error
Error 是基类型,即其他的错误类型都是从 Error 继承来的。可以利用 Error 来自定义错误类型。
1.2.2 EvalError
EvalError 是在使用 eval() 函数发生异常时被抛出。怎么才算是异常呢?如果没有把 eval() 当作函数来使用,就会
抛出 EvalError: