Java 17 Silver ・ 6. 例外処理
カスタム例外の作成 の練習問題と解説
Java 17 Silver ラボ の「6. 例外処理 › カスタム例外の作成」の問題 6 問を載せています。問題を開くと、正解と選択肢ごとの解説が読めます。
カスタム例外の作成 について
Exception や RuntimeException を継承して独自の例外を作る分類です。継承元で throws の要否が変わる点と、投げる・捕まえるときの決まりを扱います。
Exception を継承するとチェック例外になり、投げるメソッドで throws の宣言が必要です。RuntimeException を継承すると非チェック例外になり、宣言はいりません。同じ throw の文でも、どちらを継承したかでコンパイルが通るかどうかが変わります。
throw できるのは Throwable のサブクラスだけで、それ以外のクラスを throw するとコンパイルエラーです。自作の例外にも継承関係があれば、親の型の catch で子の例外も捕まえられ、catch の順番の決まりも同じです。コンストラクタで super(message, cause) を呼ぶと原因の例外を持たせられ、getCause() で取り出せます。
問題 (6 問)
- RuntimeException を継承した例外
- Exception を継承した例外を投げる
- チェック例外を宣言して投げる
- 独自の例外の継承関係で catch する
- Throwable でないクラスを throw
- 原因の例外を持たせる
広告