ELMAH是否记录了异常,即使它们没有冒泡到应用程序?我想在发生异常时弹出消息并仍然记录异常。目前我一直把所有东西放在try catch块中并吐出消息,但这很乏味。
答案 0 :(得分: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
}
重新抛出异常可能是一种不好的做法,因为它很难跟踪应用程序的流程。如果您打算以某种方式处理错误并且只是想记录错误,那么使用信令是一种更好的方法。
之后的优秀指南答案 1 :(得分:6)
过滤器是处理此问题的最简洁方法。在此处https://stackoverflow.com/a/5936867/965935
查看此解决方案