现在的位置: 首页 > 综合 > 正文

try…catch…finally

2013年03月29日 ⁄ 综合 ⁄ 共 503字 ⁄ 字号 评论关闭

基本结构

try

{

}

catch(<exceptionType> e)

{

}

finally

{

}

也可以只有try块和finally块,而没有catch块,或者有一个try块和好几个catch块。如果有一个或多个catch块,finally块就是可选的,否则就是必需的。

代码的用法如下:

try——包含抛出异常的代码

catch——包含抛出异常时要执行的代码

finally——包含总是执行的代码,如果没有产生异常,则在try块之后执行,如果处理了异常,就在catch块后执行,或者在未处理的异常上移动到调用堆栈之前执行。

在try块的代码中出现异常后,发生的事件依次是:

1、try块在发生异常的地方中断程序的执行

2、如果有catch块,就检查该块是否匹配已抛出的异常类型。如果没有catch块,就执行finally块(如果没有catch块,就一定要有finally块)

3、如果有catch块,但它与已发生的异常类型不匹配,就检查是否有其他catch块

4、如果有catch块匹配已发生的异常类型,就执行它包含的代码,在执行finally块(如果有)

5、如果catch块都不匹配已发生的异常类型,就执行finally块(如果有)

抱歉!评论已关闭.