019-002-012

例外の階層構造

中級

問題説明

例外の階層構造

この問題では: 検査例外と非検査例外の違いを理解し、AppException(検査例外)と AppRuntimeException(非検査例外)の2つのカスタム例外を使い分けるプログラムを作成します。

学習目標: checked例外とunchecked例外の階層と使い分けを理解する

概要

Javaの例外Exception(検査例外)と RuntimeException(非検査例外)に大別されます。検査例外はthrows宣言とキャッチが必須で、非検査例外は任意です。

仕様

  • AppException extends Exception: 検査例外
  • AppRuntimeException extends RuntimeException: 非検査例外
  • Service クラス:
    • checkedMethod(): AppException("Checked error occurred") をスロー(throws宣言必須)
    • uncheckedMethod(): AppRuntimeException("Unchecked error occurred") をスロー
  • Mainクラスで両方をtry-catchで処理し、例外の型名とメッセージを出力

出力形式

Caught checked: AppException: Checked error occurred
Caught unchecked: AppRuntimeException: Unchecked error occurred

コードを実行してみませんか?

この問題のコードエディタと実行機能を使用するには、ログインしてください。

アカウントをお持ちでない方

新規登録