elmah 是不是也处理捕获的异常
Posted
技术标签:
【中文标题】elmah 是不是也处理捕获的异常【英文标题】:Does elmah handle caught exceptions as wellelmah 是否也处理捕获的异常 【发布时间】:2010-09-10 10:34:30 【问题描述】:ELMAH 是否记录了异常,即使它们没有冒泡到应用程序?我想在发生异常时弹出一条消息并仍然记录异常。目前我一直将所有内容都放在 try catch 块中并吐出消息,但这变得乏味。
【问题讨论】:
【参考方案1】: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
重新抛出异常可能是一种不好的做法,因为它使跟踪应用程序的流程变得困难。如果您打算以某种方式处理错误并且只是想记录它,那么使用 Signaling 是一种更好的方法。
请查看DotNetSlackers on ELMAH 提供的出色指南
【讨论】:
是否可以使用某种属性/过滤器来实现?因为我认为将代码放在每个 catch 中是非常重要的,所以最好有这样的过滤器来做到这一点。 具有讽刺意味的是,dognetslackers 链接会导致未处理的错误页面。这一定是个巨魔? 这里是 DotNetSlackers 文章的回路机器链接:web.archive.org/web/20140415040316/http://dotnetslackers.com/…【参考方案2】:过滤器是处理这个问题的最干净的方法。在此处查看此解决方案https://***.com/a/5936867/965935
【讨论】:
据我了解,过滤器将无法捕获已在 try catch 块中处理的异常。在此处查看此答案link。以上是关于elmah 是不是也处理捕获的异常的主要内容,如果未能解决你的问题,请参考以下文章