JS中异常捕获try-catch语句
2018-03-08 00:13
946 查看
ECMA-262第三版引入了try-catch语句,作为JS中处理异常的标准方式。基本的语法如下所示
try{
return 2;
} catch(error){
return 1;
} finnaly{
return 0;
}
}执行上述函数,不会返回2或者1,永远都是返回0。
如果提供finally子句,则catch子句就成了可选的(catch或finally有一个即可),但IE7或更早的版本中,如果没有catch子句,则finally中的代码不会执行。
其中Error是基类型,其他错误类型都继承自该类型,因此所有错误类型共享一组相同的属性。Error类型的错误很少见,一般用于开发人员自定义错误。
参考《JavaScript高级程序设计 第三版》
如有纰漏,还望指出。
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高级程序设计 第三版》
如有纰漏,还望指出。
相关文章推荐
- js的异常捕获try和catch语句
- JS try catch 语句 异常捕获机
- 捕获异常语句try..catch..finally..
- Java异常捕获之try...catch...finally语句
- 详解捕获异常的try-catch-finlly语句
- WCF基础教程之异常处理:你的Try..Catch语句真的能捕获到异常吗?
- JS异常处理try..catch语句的作用和实例
- C#异常处理-采用try、catch语句结构来捕获和处理异常
- Java异常捕获之try...catch...finally语句
- 【C++】try 语句捕获异常,catch子句处理异常
- WCF基础教程之异常处理:你的Try..Catch语句真的能捕获到异常吗?
- C#中的异常捕获机制(try catch finally)
- PHP5的异常处理机制[9]--Try-catch 语句
- 异常语句:try(尝试)-catch(抓取)-finally 跳转语句:break
- 面向对象(捕获异常try-catch-finally、throws抛异常)
- C++ try catch 捕获空指针异常,数组越界异常
- C#中的异常捕获机制(try catch finally)
- C#中的异常捕获机制(try catch finally)
- java中对异常的捕获(try,catch,finally)
- C#中的异常捕获机制(try catch finally)