019-002-012
例外の階層構造
中級
問題説明
例外の階層構造
この問題では: 検査例外と非検査例外の違いを理解し、AppException(検査例外)と AppRuntimeException(非検査例外)の2つのカスタム例外を使い分けるプログラムを作成します。
学習目標: checked例外とunchecked例外の階層と使い分けを理解する
概要
Javaの例外は Exception(検査例外)と RuntimeException(非検査例外)に大別されます。検査例外はthrows宣言とキャッチが必須で、非検査例外は任意です。
仕様
AppExceptionextendsException: 検査例外AppRuntimeExceptionextendsRuntimeException: 非検査例外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
