问题目录
- java异常机制catch block之后的行为
----------------------------------------------------------------------------------
1.java异常机制catch block之后的行为
在以往的开发过程中,每次习惯性的写好try-catch之后就觉得随后发生的事都是理所当然,出现异常跳到catch,没有异常就try。
今天开发过程中,由于log没有写好,程序出现类似无响应状态(视频爬虫程序,其实并不是无响应,而是因网络原因,下载到一半的时候卡住了)。第一个反应就是程序在catch中卡住了,检查catch之后并未发现导致程序卡死的语句,然后就开始考虑是不是catch之后方法没有返回,debug的时候catch就能返回到调用处。由于对捕获异常的返回机制了解甚少,就自己写了个简单的程序做测试,跟踪release版的执行序列,代码如下:
public class TestCode {
public static void main(String[] args) {
try {
double rst = 0;
rst = 1/0;
} catch (Exception e) {
System.out.println("catch block.");
}
System.out.println("hello.");
}
}
输出结果:
catch block.
hello.
从输出可以看出,catch之后还是会继续往下执行,看来我想太多了。