Elmah是否处理来自其他层的未处理异常

本文关键字:未处理 异常 其他 是否 处理 Elmah | 更新日期: 2023-09-27 18:21:13

我是Elmah的新手,正在考虑在项目中实现它。它将是一个ASP.NET MVC+Umbraco+EF web项目,它将有多个层(业务、DAL等)。

我对Elmah的兴趣在于它处理未处理异常的能力。

但问题是,它是处理来自其他层(服务、业务、DAL等)的未处理异常,还是仅处理来自Web层(ASP.NET MVC)的异常?

Elmah是否处理来自其他层的未处理异常

ELMAH处理返回到客户端的任何异常。这意味着,如果在MVC层或其他任何地方捕捉到数据层中抛出的异常,则不会记录它们。您通常不希望来自较低层的异常最终出现在客户端。

ELMAH还支持通过ErrorSignal手动记录错误,如下所示:

try
{
    database.DoSomeStuff();
}
catch (SomeDatabaseException ex)
{
    Elmah.ErrorSignal.FromCurrentContext().Raise(ex);
}