Java 17 Silver ・ 6. 例外処理
例外処理の仕組みとチェック例外、非チェック例外、エラーの違い の練習問題と解説
Java 17 Silver ラボ の「6. 例外処理 › 例外処理の仕組みとチェック例外、非チェック例外、エラーの違い」の問題 7 問を載せています。問題を開くと、正解と選択肢ごとの解説が読めます。
例外処理の仕組みとチェック例外、非チェック例外、エラーの違い について
例外は Throwable を頂点とする継承関係で分かれます。チェック例外・非チェック例外・エラーの違いと、それぞれ catch や throws が必要かどうかを扱います。
Throwable の下に Error と Exception があり、Exception のうち RuntimeException とそのサブクラスが非チェック例外です。それ以外の Exception (IOException など) はチェック例外で、catch するか throws で宣言しないとコンパイルエラーです。非チェック例外は throws を書かなくてもかまいません。
catch (Exception e) では Error (StackOverflowError など) は捕まえられません。int を 0 で割ると ArithmeticException ですが、double では例外にならず Infinity になります。try の中で絶対に投げられないチェック例外を catch するとコンパイルエラーですが、Exception や Throwable の catch はこの対象外です。
問題 (7 問)
- チェック例外を処理しない
- 非チェック例外は throws 不要
- Exception では Error を捕まえられない
- チェック例外の見分け方
- 0 で割ったとき
- 起こりえないチェック例外の catch
- 例外が呼び出し元に伝わる
「例外処理の仕組みとチェック例外、非チェック例外、エラーの違い」をこのサイトで解く
広告