2
私のAPI用のレガシーサービスをラップしようとしています。サービスでCRUD操作を行うドメインモデルは、ArgumentException
またはAggregateException
のような明示的な標準例外をスローし、失敗したストアドプロシージャを暗黙的にスローします。私はすべての例外をラッピングすることによってデータベースやプログラムに関する情報を公開したくないので、過去の開発者が投げたものを捕捉したいだけです。管理対象コードで明示的な例外のみを検出する
ArgumentException
暗黙のうちに失敗したストアドプロシージャからスローされるのを避けながら、明示的にthrow new ArgumentException()
をキャプチャする最善の方法はありますか?
質問から、私はあなたが管理しているプロジェクトコード内で発生するすべてのArgumentExceptionsを探していると推測します。失敗したSQL呼び出しからのものです。私は他の人たちが出てくるものを見たいと思っていますが、例外内でコールスタックを調べたり、厄介な構文解析をしたりすることが不十分であるという確かな方法はありません。 – Theo
@Theoこれはまさに私が探しているものです。 – Richard
SqlExceptionとして最初にキャッチした後にArgumentExceptionsをキャッチできませんか?ちょうど刺す。 – GibralterTop