どんなプログラムも、予期しないエラーが発生します。そのときに対処するのが例外処理です。
問題 - 例外処理「難易度:低」
次のようなJavaプログラムがあります。
int a = 10;
int b = 0;
int c = 999;
try {
c = a/b;
} catch(Exception e) {
System.out.println("この計算はできません。");
} finally {
System.out.println(c);
さて、出力される結果はどのようなものでしょうか?
どんなプログラムも、予期しないエラーが発生します。そのときに対処するのが例外処理です。
問題 - 例外処理「難易度:低」
次のようなJavaプログラムがあります。
int a = 10;
int b = 0;
int c = 999;
try {
c = a/b;
} catch(Exception e) {
System.out.println("この計算はできません。");
} finally {
System.out.println(c);
さて、出力される結果はどのようなものでしょうか?
解答
この計算はできません。
999
解説
変数aの値が10、bの値が0なので、a/bは0で割る計算となりエラーとなります。例外処理では、tryブロックでエラーが発生した場合は、catchブロックの処理が実行されます。そのため、まず「この計算はできません。」が出力されます。finallyブロックの処理はtryブロックでエラーが発生するしないにかかわらず、必ず実行されるので、そのあとに変数cに代入された値がSystem.out.printlnで出力されます。今回の場合は、tryブロックで変数cに値が代入できなかったので、初期値の「999」が出力されます。
例外処理はプログラマの腕の見せどころ。うまく使いこなそう。