如何在Windows窗体应用程序中创建全局error handling程序?

我认为有一个组件允许创建全局error handling。

例如,当发生不良事件时,我自己会抛出exception

throw new ArgumentNullException("playlist is empty"); 

我如何在全球范围内捕获它?

MSDN是你的朋友: http : //msdn.microsoft.com/en-us/library/system.windows.forms.application.threadexception.aspx

您可以通过AppDomain.UnhandledExceptionApplication.ThreadException来完成此操作。

有关这些事件的作用以及这些事件的不同之处,请参阅文档。 这个想法是AppDomain.UnhandledException始终有效。 Application.ThreadException专门用于未处理的UIexception。

在全球范围内处理例外情况……

Windows应用程序

System.Windows.Forms.Application.ThreadException事件

一般用于主要方法。 请参阅MSDN线程exception

Asp.Net

System.Web.HttpApplication.Error事件

通常用于Global.asax文件。 请参阅MSDN Global.asax全局处理程序

控制台应用

System.AppDomain.UnhandledException事件

一般用于主要方法。 请参阅MSDN UnhandledException