public class Main {
public static void main(String[] args) {
try {
System.out.print("A");
throw new RuntimeException();
} catch (RuntimeException e) {
System.out.print("B");
} finally {
System.out.print("C");
}
}
}
選択肢
- あなたの回答
- 正解
正解
B. ABC
詳細解説
try で A を出力したあと例外が発生し catch で B を出力します。finally は例外の有無にかかわらず必ず実行されるため C も出力され ABC となります。
なぜ他の選択肢が違うのか
- catch が実行されるため B が抜けません。
- finally は必ず実行されるため C も出力されます。
- try の A が出力された後に例外が発生するため A も表示されます。
罠ポイント
finally ブロックは正常終了・例外発生・return のいずれの場合でも実行されます。