019-004-010
例外伝播チェーン:メソッド間の例外の流れ
中級
問題説明
例外伝播チェーン:メソッド間の例外の流れ
この問題では: innerMethod()、middleMethod()、outerMethod() の3つのメソッドを実装し、例外がメソッドチェーンを通じて伝播・再スローされる仕組みを標準出力で確認するプログラムを作成します。
学習目標: 例外処理の伝播(propagation)とキャッチ後の再スロー(rethrowing)を理解する
概要
Javaの例外は、メソッドの呼び出し階層を遡って伝播します。途中のメソッドでキャッチして追加情報を付与した上で再スローすることで、エラーの文脈を積み上げていくことができます。
仕様
innerMethod():IllegalArgumentExceptionを"Inner error"メッセージで直接スローするmiddleMethod():innerMethod()を呼び出し、例外をキャッチして"Middle: " + 元のメッセージで新しいRuntimeExceptionをスローする。キャッチ時に"Caught in middle"を出力するouterMethod():middleMethod()を呼び出し、例外をキャッチして最終的なメッセージを出力するmain():outerMethod()を呼び出す
出力形式
Caught in middle
Final handler: Middle: Inner error
