为什么发生异常后,catch块后面的代码继续执行了?
答案:1 悬赏:40 手机版
解决时间 2021-02-06 18:12
- 提问者网友:末路
- 2021-02-05 19:23
为什么发生异常后,catch块后面的代码继续执行了?
最佳答案
- 五星知识达人网友:由着我着迷
- 2021-02-05 19:40
try-catch的执行流程以及执行结果还是比较简单的。
首先执行的是try语句块中的语句,这时可能会有以下三种情况:
1.如果try块中所有语句正常执行完毕,那么就不会有其他的“动做”被执行,整个try-catch程序块正常完成。
2.如果try语句块在执行过程中碰到异常V,这时又分为两种情况进行处理:
-->如果异常V能够被与try相应的catch块catch到,那么第一个catch到这个异常的catch块(也是离try最近的一个与异常V
匹配的catch块)将被执行;如果catch块执行正常,那么try-catch程序块的结果就是“正常完成”;如果该catch块由于原因R突然中
止,那么try-catch程序块的结果就是“由于原因R突然中止(completes
abruptly)”。
-->如果异常V没有catch块与之匹配,那么这个try-catch程序块的结果就是“由于抛出异常V而突然中止(completes
abruptly)”。
3.
如果try由于其他原因R突然中止(completes
abruptly),那么这个try-catch程序块的结果就是“由于原因R突然中止(completes abruptly)”。
首先执行的是try语句块中的语句,这时可能会有以下三种情况:
1.如果try块中所有语句正常执行完毕,那么就不会有其他的“动做”被执行,整个try-catch程序块正常完成。
2.如果try语句块在执行过程中碰到异常V,这时又分为两种情况进行处理:
-->如果异常V能够被与try相应的catch块catch到,那么第一个catch到这个异常的catch块(也是离try最近的一个与异常V
匹配的catch块)将被执行;如果catch块执行正常,那么try-catch程序块的结果就是“正常完成”;如果该catch块由于原因R突然中
止,那么try-catch程序块的结果就是“由于原因R突然中止(completes
abruptly)”。
-->如果异常V没有catch块与之匹配,那么这个try-catch程序块的结果就是“由于抛出异常V而突然中止(completes
abruptly)”。
3.
如果try由于其他原因R突然中止(completes
abruptly),那么这个try-catch程序块的结果就是“由于原因R突然中止(completes abruptly)”。
我要举报
如以上回答内容为低俗、色情、不良、暴力、侵权、涉及违法等信息,可以点下面链接进行举报!
点此我要举报以上问答信息
大家都在看
推荐资讯