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

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

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

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

新規登録