java try-catch-finallyについて

構文:

try {

//例外が発生する可能性がある処理

} catch {

//例外が発生した時の処理

} finally {

//例外発生の有無に関係なく必ず実行する処理

}

 

※try-catch-finallyの順番を入れ替えるとコンパイルエラーになる

※catchブロックのみ複数記述することができる(tryとfinallyを複数記述するとコンパイルエラー)

※catchブロックはthrows宣言がされていれば省略できる

※catchブロックとfinallyブロックの両方がreturnを戻している場合戻り値は後のfinallyブロックの値に上書きされる

※finallyブロックで変数を変更する時は同じ変数名でも戻り値とメソッド内で使われる変数は違う(参照型で変数名が同じであれば同じインスタンスなのでインスタンスの値を変更できる)