Enterprise Library 5.0 Exception Handling には Wrap Handler が含まれています。これにより、例外が別の例外でラップされ、ラッパー例外がスローされます。
エラーが発生したときに有効だったパラメーターや設定に関する情報など、ラッパーの例外に追加情報を追加したいと考えています。これはトラブルシューティングに役立ちます (このラッパー例外はより高いレベルのハンドラーによってキャッチされ、ログに記録されるため)。
私は次のコードを使用していました:
ExceptionManager em = EnterpriseLibraryContainer.Current.GetInstance<ExceptionManager>();
em.Process(() => { DoSomething(); }, "WrapPolicy");
この結果は、カスタム例外にラップされてスローされる例外です。これはクリーンで簡単ですが、私のコードはラッパーの例外インスタンスを認識しないため、追加情報を追加することはできません。
従来の Try...Catch でアクションをラップし、HandleException メソッドを手動で実行する以外に、ラッパー例外インスタンスに追加情報を挿入する方法はありますか?