質問
コンテキストを持つ例外とネストされた例外の長所と短所は何ですか?
気にする理由
Java のバックグラウンドがない、または Java のバックグラウンドを知らない開発者として、オープン ソース プロジェクトの例外処理を更新する可能性のある機会に出くわしましたが、私が行う変更が有益であることを確認したいと考えています。
問題のプロジェクトはddlutilsです。現在、org.apache.commons.lang.exception を使用しています。
「以前の Java バージョンの場合に、JDK 1.4 スタイルのネストされた例外機能を提供します。」
Commons Langの現在のバージョン(執筆時点では 3.1) は、次のように述べている org.apache.commons.lang3.exception を使用しています。
「コンテキストを持つ例外の概念が含まれています。つまり、そのような例外にはキーと値のマップが含まれます。これにより、呼び出しプロセスに有用な形式で例外時に貴重な状態情報を渡す簡単な方法が提供されます。」