1

n層のWebアプリケーションがあり、DAL(データアクセス層)からのすべてのメソッドで特定の種類の例外をキャッチし、特定の種類の新しい例外として再スローしたいと考えています。

私のDALには多くのメソッドがあるので、それぞれをtry/catchでラップし始めたくありません。

これは例外処理アプリケーションブロックを使用して可能だと思いますが、これを行う方法についての適切なドキュメントが見つかりませんでした...
以前のバージョンのアプリケーションブロックにも精通していません。

4

1 に答える 1

1

DAL リポジトリにはインターフェイスがありますか? デコレータ パターンを使用してインターフェイスを実装します。デコレータが行うすべてのことは、例外をキャッチしてから新しい例外を作成し、それを上位層にスローすることです

注意点として、私たちのn層アプリケーションでは、常に例外を自然にスローさせ、それらを1か所でキャッチしてログに記録します。絶対に必要であり、それが十分にまれな場合にのみ、特定の例外を作成します。

その理由は、コードの保守性です。try/catch がいたるところに存在すると、コードが簡単に読めなくなる可能性があります。

于 2011-03-24T11:07:11.127 に答える