我认为有一个组件允许创建全局错误处理。如何在Windows窗体应用程序中创建全局错误处理程序?
比如我自己抛出异常,当坏事发生,例如
throw new ArgumentNullException("playlist is empty");
我怎样才能抓住它在全球范围?
我认为有一个组件允许创建全局错误处理。如何在Windows窗体应用程序中创建全局错误处理程序?
比如我自己抛出异常,当坏事发生,例如
throw new ArgumentNullException("playlist is empty");
我怎样才能抓住它在全球范围?
您可以通过AppDomain.UnhandledException
或Application.ThreadException
做到这一点。
请参阅文档以了解有关这些事件的详细信息以及这些事件的差异。这个想法是AppDomain.UnhandledException
总是有效。 Application.ThreadException
专门用于未处理的UI异常。
来处理异常在全球范围内...
Windows应用程序
System.Windows.Forms.Application.ThreadException事件
的主要方法一般使用。请参阅MSDN Thread Exception
Asp.Net
System.Web.HttpApplication.Error事件
在Global.asax文件中正常使用。请参阅MSDN Global.asax Global Handlers
控制台应用程序
System.AppDomain.UnhandledException事件
的主要方法一般使用。请参阅MSDN UnhandledException
AppDomain.UnhandledException也可在Compact Framework上使用。 – 2013-06-10 09:14:00
***使用AppDomain.UnhandledException事件时要小心*** `修订说明':我被** Phillip Haack **指出了这个重要的省略。其他常见的错误来源是Application.ThreadException事件。使用它们时有很多警告。 – Kiquenet 2017-03-01 09:03:12