try文ブロックとcatch文ブロックにはreturn文がありますが、 finally文ブロックにはreturn文がなく、例外が発生します。
コードは次のとおりです。
publicclassMain{publicstaticvoidmain(String[]args){System.out.println(test3());}publicstaticinttest3(){inti=10;try{System.out.println(try ステートメント);intj=10/0;return- -i;}catch(Exceptione){System.out.println(catch ステートメント);return--i;}finally{System.out.println(finally ステートメント);}}}
実行結果は次のとおりです。
try ステートメント catch ステートメント Finally ステートメント 9
実行順序:
1. まず try ブロック内のステートメントを実行し、例外が発生した場合は例外をキャッチします。
2. return ステートメントの式演算を含む catch ブロック内のステートメントを実行しますが、戻りません。
3.finally ステートメント ブロック内のすべてのコードを実行します。
4. 最後に、catch ブロックで return を実行します。