public class Test {
public static void main(String args[]) throws Exception{
try{
System.out.print("1");
throw new Exception("first");
}
catch (Exception e) {
System.out.print("2");
throw new Exception("second");
}
**finally**{
System.out.print("3");
try{
System.out.print("4");
}catch (Exception e) {
System.out.print("5");
throw new Exception("third");
}
finally{
System.out.print("6 ");
}
}
}
}
最初の実行時の出力:
12Exception in thread "main" 346 java.lang.Exception: second
at src.dec.TST501.main(TST501.java:11)
2 回目の実行時の出力:
12346 Exception in thread "main" java.lang.Exception: second
at src.dec.TST501.main(TST501.java:11)
3 回目の実行時の出力: 1Exception in thread "main" java.lang.Exception: second 2346 at src.dec.TST501.main(TST501.java:11)
誰がそれがどのように起こっているのか説明できますか? finally ブロックはメイン以外のスレッドで実行されますか?