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 是不是也处理捕获的异常的主要内容,如果未能解决你的问题,请参考以下文章

lua中怎么捕获错误异常信息

lua中怎么捕获错误异常信息

Python技能树共建异常捕获预处理

异常的捕获和处理

WPF捕获全局未处理异常

iOS异常信号的捕获和简单处理