2

可能重复:
控制台应用程序中的 .NET 全局异常处理程序

我已经阅读了很多关于 stackoverflow 上的全局异常处理的内容,但是我找不到任何与我的主题相关的内容。我编写了一个控制台应用程序,它仅在它们发生的方法中捕获异常。根本没有投掷。我想要的是全局异常处理。我没有关于异常处理的基本指导方针,但除了这些基础知识之外一无所知。想象中应该有一个类处理这些异常(由不同类的方法抛出)。我还不需要任何错误记录或错误报告机制。只需要基础知识(无论什么模式......)来实现这个全局处理。感谢您到目前为止的阅读!

4

1 回答 1

2

全局处理异常仅适用于某些任务,例如记录错误或应用程序的正常退出。

在所有其他情况下,建议您在最相关的地方处理异常。例如,如果您从您的应用程序进行 Web 服务调用并且该服务不可用,则您应该在进行 Web 服务调用时处理该异常,而不是全局捕获它。这提高了代码的可读性,而且在全局级别做任何明智的事情也是不切实际的,因为您对异常起源的信息知之甚少。(当然你有堆栈跟踪,但它不容易用于编程操作)

但是,您可以通过将处理程序附加到AppDomain.UnhandledException来添加应用程序范围的异常处理程序,正如@Jesse 的评论中所指出的那样

于 2012-12-08T15:07:39.660 回答