55

ELMAHは、アプリケーションにバブルアップしない場合でも例外をログに記録しますか? 例外が発生したときにメッセージをポップアップ表示し、それでも例外をログに記録したいと思います。現在、私はすべてをtry catchブロックに入れてメッセージを吐き出していますが、これは面倒です。

4

2 に答える 2

129

ELMAH は、Signalingと呼ばれる新しい機能をサポートするように更新されました。

これにより、例外を ELMAH に記録しながら、必要に応じて例外を処理できます。

try
{
    int i = 5;
    int j = 0;
    i = i / j; //Throws exception
}
catch (Exception ex)
{
    MyPersonalHandlingCode(ex);
    ErrorSignal.FromCurrentContext().Raise(ex); //ELMAH Signaling
}

例外の再スローは、アプリケーションのフローを追跡するのが難しくなるため、悪い習慣になる可能性があります。何らかの方法でエラーを処理し、単にそれを文書化したい場合は、シグナリングを使用する方がはるかに優れたアプローチです。

ELMAH の DotNetSlackersによる優れたガイドをご覧ください。

于 2009-05-08T19:33:36.887 に答える
6

フィルタは、この問題を処理するための最もクリーンな方法です。ここでこのソリューションを確認してくださいhttps://stackoverflow.com/a/5936867/965935

于 2012-12-13T00:23:09.420 に答える