予約語 finally

みるくあいらんどっ! > ドキュメント > Java > じっくり学ぶ Java講座 [初心者向け・入門]


予約語 finally

使用する頻度はそれほど多くは無いのですが、try catch構文には finallyを記述することもできます。finallyを使用したプログラムをひとつ挙げます。

ソースコードは以下の通り。

O701/MySystem.java(ライブラリをそのまま利用します)

O701/O701.java

/**
 * finallyの動作を確認します。
 */
public class O701 {
	
	/**
	 * メインメソッド。
	 * @param args 引数
	 */
	public static void main(String[] args) {
		System.out.println("整数同士の除算をします");
		int value = MySystem.in.getInt("値を入力してください");
		int div = MySystem.in.getInt("割る数を入力してください");
		
		try {
			int answer = value / div;
			System.out.println("除算の結果は " + answer + "です。");
		} catch(ArithmeticException e) {
			System.out.println("ArithmeticExceptionを受け取りました。");
		} finally {
			System.out.println("処理を終えました。");
		}
	}
}

実行結果の例は以下の通り。

整数同士の除算をします
値を入力してください? 100
割る数を入力してください? 7
除算の結果は 14です。
処理を終えました。
整数同士の除算をします
値を入力してください? 100
割る数を入力してください? 0
ArithmeticExceptionを受け取りました。
処理を終えました。

例外の発生の有無に関わらず finallyブロック内が実行されていることが分かります。例外の発生の有無に関わらず、必ず最後に実行したい処理がある場合、finallyを利用すると便利です。

最終更新: 2013/08/14 , 公開: 2013/08/14
▲top