先上代码:
由以上的代码咱们能够知道在抛出异常以后的代码都会被编译器视做无用的代码,进一步会显示的报错。所以更谈不上以后的代码能够执行了。
进一步修改以后,咱们采用如下的代码进行测试
能够得出如下的结果:
从结果中咱们能够看出,当主程序(main)捕获到异常以后,会进一步进行处理,随之处理完以后会进一步执行以后的代码。java
接下来咱们看另外一种状况:
咱们将对第一种的异常放在其余的类方法种进行捕获,咱们从上图能够看出throw new Exception("第二种异常哈")以后的代码仍然视为无用。接着咱们在主程序(在另外一个类中)进行调用当前的方法并对其进行捕获。
运行程序得出如下的结果:
咱们能够看出在第一种异常捕获以后并抛出第二种异常时,并不会去执行其后的代码,finally里面的代码除外。测试
由此,就最开始的问题以及以后的分析,咱们能够得出如下的结论:spa
以上都针对于检查型异常而言的。作用域