Java サンプル - Finallyの使い方
Java の Finally キーワードは通常 try と一緒に使用され、プログラムが try ブロックに入った後、プログラムが例外によって中止されたり、他の方法で返されて終了したりしても、finally ブロックの内容は必ず実行されます。
以下のサンプルでは、finally を使用して e.getMessage() により例外(不正な引数の例外)をキャッチする方法を示しています:
ExceptionDemo2.java ファイル
public class ExceptionDemo2 {
public static void main(String[] argv) {
new ExceptionDemo2().doTheWork();
}
public void doTheWork() {
Object o = null;
for (int i=0; i<5; i++) {
try {
o = makeObj(i);
}
catch (IllegalArgumentException e) {
System.err.println
("Error: ("+ e.getMessage()+").");
return;
}
finally {
System.err.println("すべて実行されました");
if (o==null)
System.exit(0);
}
System.out.println(o);
}
}
public Object makeObj(int type)
throws IllegalArgumentException {
if (type == 1)
throw new IllegalArgumentException
("指定された型ではありません:" + type);
return new Object();
}
}
上記のコードを実行した出力結果は次のとおりです:
都已执行完毕 java.lang.Object@7852e922 Error: (不是指定的类型:1). 都已执行完毕その他の拡張
Java サンプル