try...catch..finally

走远了吗. 提交于 2020-02-09 00:23:45

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

在try块的代码中出现异常后,发生的事件依次是:
1、try块在发生异常的地方中断程序的执行
2、如果有catch块,就检查该块是否匹配已抛出的异常类型。如果没有catch块,就执行finally块(如果没有catch块,就一定要有finally块)
3、如果有catch块,但它与已发生的异常类型不匹配,就检查是否有其他catch块
4、如果有catch块匹配已发生的异常类型,就执行它包含的代码,再执行finally块(如果有)
5、如果catch块都不匹配已发生的异常类型,就执行finally块(如果有)

标签
易学教程内所有资源均来自网络或用户发布的内容,如有违反法律规定的内容欢迎反馈
该文章没有解决你所遇到的问题?点击提问,说说你的问题,让更多的人一起探讨吧!