我認爲有一個組件允許創建全局錯誤處理。如何在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