对于初学者,C#应用程序可能会遇到一些导致软件宕机的似是而非的异常。有的异常普通处理不太好分析,这里就需要用到全局异常捕捉。下面是以输出的形式来查看异常,也可以通过log4net输出到文件中查看分析。
源码示例
```csharp
static void Main()
{
try
{
//设置应用程序处理异常方式:ThreadException处理
Application.SetUnhandledExceptionMode(UnhandledExceptionMode.CatchException);
//处理UI线程的异常
Application.ThreadException += new System.Threading.ThreadExceptionEventHandler(ApplicationThreadException);
//处理非UI线程的异常
AppDomain.CurrentDomain.UnhandledException += new UnhandledExceptionEventHandler(CurrentDomainUnhandledException);
Application.EnableVisualStyles();
Application.SetCompatibleTextRenderingDefault(false);
FormMain formMain = new FormMain();