您的位置:首页 > Web前端 > JavaScript

JS中异常捕获try-catch语句

2018-03-08 00:13 946 查看
ECMA-262第三版引入了try-catch语句,作为JS中处理异常的标准方式。基本的语法如下所示
try{
//可能导致错误的代码
} catch(eroor){
//在错误发生时的处理方式
}
即要把所有可能抛出错误的代码都放在try语句块中,如果发生异常,catch语句块就会接收到一个包含错误信息的对象,即使不需要使用这个对象,也必须声明它,如上述代码中的error一样。

1. finally子句

除了基本的try-catch语句外,还有finally子句。若加上finally子句,无论是否出现异常错误,无论使用什么代码(即使使用return语句),都不影响finally子句的执行,这是非常重要的一点。function testFinally(){
try{
return 2;
} catch(error){
return 1;
} finnaly{
return 0;
}
}执行上述函数,不会返回2或者1,永远都是返回0。

如果提供finally子句,则catch子句就成了可选的(catch或finally有一个即可),但IE7或更早的版本中,如果没有catch子句,则finally中的代码不会执行。

2. 错误类型

ECMA-262定义了下列7中错误类型:Error,EvalError,RangeError,ReferenceError,SyntaxError,TypeError,URIError。
其中Error是基类型,其他错误类型都继承自该类型,因此所有错误类型共享一组相同的属性。Error类型的错误很少见,一般用于开发人员自定义错误。

参考《JavaScript高级程序设计 第三版》
如有纰漏,还望指出。
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签:  JavaScript