初心者向けのJava講座です。一緒にJavaを勉強しませんか?
はじめてのJava入門初心者向けのJava講座 |
try catch finally
例外処理に関してtry catchブロックのほかにもうひとつ大切なブロックがあります。
これが、finallyブロックと呼ばれるものです。
finallyブロックはtryブロック内で例外が発生の有無に関わらず必ず実行されます。
finallyブロックには必ず実行させたいコードを書きます。しかし、finallyブロックで唯一実行されないときがあります。
それは、System.exitメソッドがcatchブロック内でアプリケーションを終了させたときだけです。
サンプルプログラム(Sample64.java)
class Sample64{ public static void main(String args[]){ int i[] = new int[3]; try{ i[4] = 10; System.out.println("例外は発生していません"); }catch(ArrayIndexOutOfBoundsException e){ System.out.println("例外発生");
}finally{
System.out.println("例外の有無に関わらず実行されます");
} } }
プログラムをコピーする場合すべて選択をクリックしてください。
サンプルプログラム(Sample64_1.java )
class Sample64_1{ public static void main(String args[]){ int i[] = new int[3]; try{ i[2] = 10; System.out.println("例外は発生していません"); }catch(ArrayIndexOutOfBoundsException e){ System.out.println("例外発生");
}finally{
System.out.println("例外の有無に関わらず実行されます");
}
} }
プログラムをコピーする場合すべて選択をクリックしてください。
Sponsored link
上記2つのプログラムをコンパイ・実行します
Sample64 も Sample64_1 もfinallyブロックが実行されているのがわかります。
このように例外処理に関わらず必ず実行されるのです。