当前位置:Gxlcms > JavaScript > javascript异常处理使用总结_javascript技巧

javascript异常处理使用总结_javascript技巧

时间:2021-07-01 10:21:17 帮助过:21人阅读

JavaScript中的异常可以用try..catch..finally语句来处理,也可以手动的来抛出异常。
1.使用try..catch..finally语句来处理异常
js代码在执行过程中如果出现异常,会手动创建一个异常类对象,该异常类对象将被提交给浏览器,这个过程称为“抛出异常”。当浏览器接收到一场对象时,会寻找能处理这一异常的代码并把当前异常对象提交给其处理,这一过程被称为“捕获异常”。try..catch..finally语句的基本语法格式为:
代码如下:

try{//可能抛出异常的代码
}catch(error){//如果发生异常会执行的代码,error为发生的异常类对象
}finally{//无条件执行的代码
}

在上面的语句中,catch语句紧跟在try语句的后面,finally语句紧跟在catch的后面,这是一个完整的异常处理语句的写法。其实,catch语句和finally语句都可以省略的,但是二者至少要保留其中之一和try语句结合使用。
在try块中的语句并不一定是要抛出异常的语句,任何JavaScript语句都可以使用异常处理语句来处理,但这样做没有必要。当try块中某一行的代码抛出了异常,则该行下方的代码将不会被执行,转而直接执行catch块的代码。
在catch块中,catch语句后面括号中的error表示捕获到的异常对象实例,该实例包含异常的详细信息,可以根据这些信息作出适当的处理。如果catch语句后还有finally语句,则继续执行finally块中的语句。
finally块中的语句是始终被执行的语句,块中的语句通常做一些最后的清理工作。如果在执行finally块之前,遇到return语句、continue语句或break语句等转移流程的语句时,那么在执行这些语句前finally块中的代码也要被执行。
如果在一个异常处理语句中,只包含try..finally语句而没有补货异常的catch语句则执行try块中的语句后会直接执行finally块的语句,最后再将异常抛出。
例:
代码如下: