finally
finallyとは
finallyとは例外が発生しても、しなくても
必ずtry-catch-finallyで実行させたい場合に使われる予約語です。
よく似た使われ方をしているのがスイッチ構文のデフォルトです。
switch(i){
case 0:
return "aaa";
case 1:
return "eee";
case 2:
return "yyy";
default:
return "erqew";
}
スイッチ構文のデフォルト構文に似ていますが、
本質は違います。
finallyは必ず実行される文と言う点がdefaultと違う点です。
finallyを使ってみる
/**** TestFinally.java ****/
public class TestFinally {
public static void main (String args[]){
try{
throw new ArrayIndexOutOfBoundsException;
} catch (Exception e) {
System.out.println(e);
} finally {
System.put.println(何はともあれ処理を行う);
}
try{
} catch (Exception e) {
System.out.println(e);
} finally {
System.put.println(何はともあれ処理を行う);
}
}
}
/******** 結果 *******/
//ArrayIndexOutOfBoundsException
//何はともあれ処理を行う
//何はともあれ処理を行う
見ての通り処理は例外が起きようと起きまいと、
finally文で記述されている処理は実行されます。