-5

私はいつも自分のアプリケーションのどのレベルで自分が書いているのか疑問に思っていますtry-catchか?

DAL?キャッシュ?BL?UIロジック?

ログに書き込んで再スローした場合

すべての関数でtry-catchを使用する必要がありますか?

どんな関数でも、私が思いもよらなかった例外が発生する可能性があります。

4

2 に答える 2

1

まあ、それは依存します。UI レイヤーでは、すべてのエラーを Application_Error でグローバルにキャッチし、それに応じて処理します。次に、UI にバブルアップして一般的なエラー ページにリダイレクトさせたくないエラーを try-catch します。これは、すべてではないにしてもほとんどのエラーを報告するのに効果的でした。

エラーの扱い方が異なる人もいます。ビジネス層でエラーをキャッチし、ログに記録して BLL から返すか、ログに記録して一般的なエラーを再スローします。たとえば、Enterprise Library Exception ブロックがどのようにエラーにアプローチするかを確認してください。

PostSharp のような AOP ライブラリを使用して、エラーを処理するすべてのオブジェクトにアタッチしたり、MVC の例外フィルタリングを使用してエラーを処理したりすることもできます。

于 2013-02-06T16:02:43.650 に答える
0

個人的には、try-catch ブロックよりも try-finally を使用する傾向があります (一部の外部データ ソース呼び出しを除く)。

コードのエンドポイントに try-catch を保持し、エラー スタックをログに記録し、必要に応じてエラー メッセージを処理します。

throw;ちなみに、例外を飲み込まないように、必ず呼び出してください。

于 2013-02-06T16:03:09.263 に答える