c#中的全局exception处理(控制台应用程序)

可能重复:
控制台应用程序中的.NET Globalexception处理程

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

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

在所有其他情况下,建议您在最相关的位置处理exception。 例如,如果您从应用程序进行Web服务调用,并且该服务不可用,则应该在进行Web服务调用时处理该exception,而不是全局捕获它。 这提高了代码的可读性,并且在全局级别做任何合理的事情都是不切实际的,因为您几乎没有关于exception源自何处的信息。 (当然你有堆栈跟踪,但它不容易用于编程操作)

但是,您可以通过将处理程序附加到AppDomain.UnhandledException来添加应用程序范围的exception处理程序,如@Jesse在注释中所示