用于Winforms控制的全局异常处理
时间:2020-03-05 18:37:50 来源:igfitidea点击:
在ASP.NET 1.1项目上工作时,我总是使用Global.asax来捕获所有错误。我正在寻找一种类似的方法来捕获Windows Forms用户控件中的所有异常,而该控件最终是托管的IE控件。做这样的事情的正确方法是什么?
解决方案
回答
我们需要处理Windows窗体的" System.Windows.Forms.Application.ThreadException"事件。这篇文章确实对我有帮助:http://bytes.com/forum/thread236199.html。
回答
如果我们使用的是VB.NET,则可以使用非常方便的ApplicationEvents.vb。该文件随VB.NET WinForms项目免费提供,并且包含用于处理未处理的异常的方法。
要获得这个漂亮的文件,它是"项目属性>>应用程序>>应用程序事件"
如果我们不使用VB.NET,那么是的,它正在处理Application.ThreadException。
回答
目前,在我的winforms应用程序中,我有如上所述的Application.ThreadException
处理函数,还有AppDomain.CurrentDomain.UnhandledException
处理函数。
大多数异常是通过ThreadException
处理程序到达的,但是AppDomain的一些经验也引起了我的注意。