工作许久,许多情况下,对于异常的处理都是直接throw,或者catch后,直接打印e.printStackTrace()堆栈信息。那么我们捕获异常后程序到底怎么执行呢?
我的猜测是,捕获就相当于处理了异常,那么程序就应该正常执行,也就是会正常执行完,如果有返回值就正常返回。测试代码如下:
/**
* 测试捕获异常后,程序执行顺序
*/
@Test
public void testException() {
int a;
try {
a = 1/0;
} catch (Exception e) {
a = 999;
}
System.out.println(a);
}
运行结果:999
通过结果可以验证出我们的猜测是正确的。
问题虽然不难,但是从来没有验证过,所以这里专门来记录下来,以后就可以在代码中进行使用了。
版权声明:本文为u012131503原创文章,遵循 CC 4.0 BY-SA 版权协议,转载请附上原文出处链接和本声明。