try:包含抛出异常的代码
catch:包含抛出异常时要执行的代码
finally:包含总是会执行的代码,如果没有异常产生,则在try块之后执行,如果处理了异常,就在catch块后执行,或者在未处理的异常上移到调用堆栈之前执行。
在try块的代码中出现异常后,发生的事件依次是:
1、try块在发生异常的地方中断程序的执行
2、如果有catch块,就检查该块是否匹配已抛出的异常类型。如果没有catch块,就执行finally块(如果没有catch块,就一定要有finally块)
3、如果有catch块,但它与已发生的异常类型不匹配,就检查是否有其他catch块
4、如果有catch块匹配已发生的异常类型,就执行它包含的代码,再执行finally块(如果有)
5、如果catch块都不匹配已发生的异常类型,就执行finally块(如果有)
阅读(555) | 评论(0) | 转发(0) |