try-catch-finallyブロックについて
try-catch-finallyブロックによる例外処理
Java言語には例外処理を行う方法が2つあります。
・try-catch-finallyブロックによる例外処理
・throwsキーワードによる例外処理
今回は「try-catch-finallyブロック」の説明をしていきます。
try-catch-finallyブロックの構造
以下のコードをご覧ください。
void method(){
try{
例外が発生しそうな処理
}catch(例外クラス名 変数名){
例外が発生したときの処理
}finally{
必ず実行したい処理
}
}
各ブロックの役割は、次の通りです。
・tryブロック ⇨ 例外が発生しそうな箇所をtryブロックで囲む
・catchブロック ⇨ 例外は発生したときの処理をcatchブロックの中に定義する
・finallyブロック ⇨ 例外が発生しなくても必ず実行したい処理をfinallyブロックに定義する
Java実行環境からスローされてきた例外のオブジェクトを受け取るのが、catchブロックの役割です。
catch(例外クラス名 変数名){}
例外クラス名は、Javaには例外クラスというものが存在しそれを上記に定義します。
try-catch-finallyブロックの組み合わせ
try-catch-finallyのすべてのブロックを記述する必要はありません。
次の組み合わせが可能です。
・try-catch
・try-finally
・try-catch-finally
ただし、注意点として、tryブロックのみの定義はコンパイルエラーとなります。
まとめ
・Javaの例外処理には2通り存在する。「try-catch-finallyブロック」「throwsキーワード」
・tryには例外が発生しそうな箇所をtryブロックで囲む
・catchブロックには例外は発生したときの処理をcatchブロックの中に定義する
・finallyブロックには例外が発生しなくても必ず実行したい処理をfinallyブロックに定義する
・try-catch-finallyのすべてのブロックを記述する必要はない。