在 ELMAH 中使用 Try Catch 块

Use of Try Catch Block with ELMAH

既然 ELMAH 记录了 UNHANDLED 异常并且我想通过 ELMAH 记录所有错误,这是否意味着我不应该再在我的代码中的任何地方使用 try-catch 块?如果我不使用它,它会显示死机的黄屏,我相信我可以通过自定义错误页面来处理。

所以,我认为如果使用 ELMAH,try-catch 块将毫无用处,对吗?如果没有,将 try catch 与 ELMAH 一起使用的用例是什么?

你错了。仅仅因为 ELMAH 围绕未处理的异常提供了一些日志记录功能(以及更多)并不意味着建议所有异常都未处理。

您应该继续按照您期望的处理方式使用异常,例如提供适当的处理,例如进一步诊断或什至围绕它们的业务逻辑。

示例:如果您的应用程序与已关闭的第三方服务集成,您最终可能会遇到一个您应该处理的异常,例如。 g.:

try {
    .. call third party service
} catch (TimeOutException toe) {
    .. handle such as redirection
}

使用 ELMAH,您可以捕获错误、处理它们并仍然使用 ErrorSignal 记录问题。 http://blog.elmah.io/how-to-log-errors-to-elmah-programmatically/