jclass 关于 for try-catch 的思考

分析

在这里插入图片描述
在这里插入图片描述
在这里插入图片描述

在这里插入图片描述

每个类的每个方法都有一个异常表。

猜测一下:异常表的执行顺序是从上到下。

总结:正常用应该是没事的,除非你的异常非常非常多。可能找异常表比较麻烦。
每个方法,即使是for循环,也是只有一个异常表。因为执行的行号是不变的。

后续

2021-12-30 17:58:29
参考文章:为什么不建议在 for 循环里捕捉异常?

1、这里的调用栈的一个追踪信息,可以忽略不记的。
在这里插入图片描述

2、这里说的情况,下面这种情况,但是呢,A调用B,B调用C,…,Y调用Z。
这里的A、B、C、…、Z 方法,都没有进行catch 到异常。进而,当Z出错的时候,把异常往上抛给了main方法。
main方法处理异常后,执行下一次循环,再调用A,A调用B,…,调用到Z,再出错,再把异常往上抛,抛到了main方法。
这里是很消耗性能的。

1
2
3
4
5
6
7
8
9
main{
// do something
try{
A();
} catch(Exception e){
System.out.println("执行A出错了...");
}
// do something
}

在这里插入图片描述

在这里插入图片描述