首页 新闻 赞助 找找看

c# winform中能否像BS中捕获Application_Error事件一样捕获未知异常?

0
悬赏园豆:10 [已解决问题] 解决于 2013-11-13 15:08

如题,

如题,

如题,

如题,

如题,

如题,

如题

空明流光的主页 空明流光 | 初学一级 | 园豆:106
提问于:2013-11-13 08:10
< >
分享
最佳答案
0

本来记得应该类似WPF,WinForm也有一个事件用以处理未捕获的异常,不过搜了一下发现不太一样,参考 http://developer.51cto.com/art/200912/173003.htm

收获园豆:5
徐牛 | 菜鸟二级 |园豆:282 | 2013-11-13 08:50
其他回答(4)
0

除了上文的方式,你还可以在 Main 中,把 Application.Run(new Form1());   try catch 住,如下:

try{Application.Run(new Form1());  }catch(exception e){}

 

收获园豆:5
Launcher | 园豆:45045 (高人七级) | 2013-11-13 09:25
0

可以的。我用以下语句,可能不全,你可以再GOOGLE下。

Public Shared Sub ApplyExceptionHandle()
Try
AddHandler AppDomain.CurrentDomain.UnhandledException, New UnhandledExceptionEventHandler(AddressOf CurrentDomain_UnhandledException)
AddHandler Application.ThreadException, New System.Threading.ThreadExceptionEventHandler(AddressOf Application_ThreadException)
Catch ex As Exception
AppMessagebox.Show(ex.Message & System.Environment.NewLine & My.Resources.LocalizeRes.FunctionErrorOccur & MethodBase.GetCurrentMethod.Name)
End Try
End Sub

Shared Sub Application_ThreadException(ByVal sender As Object, ByVal e As System.Threading.ThreadExceptionEventArgs)
AppMessagebox.Show(e.Exception.ToString(), "系统错误", Windows.Forms.MessageBoxButtons.OK, Windows.Forms.MessageBoxIcon.Error)
End Sub

Shared Sub CurrentDomain_UnhandledException(ByVal sender As Object, ByVal e As UnhandledExceptionEventArgs)
AppMessagebox.Show(e.ExceptionObject.ToString(), "系统错误", Windows.Forms.MessageBoxButtons.OK, Windows.Forms.MessageBoxIcon.Error)
End Sub

爱编程的大叔 | 园豆:30839 (高人七级) | 2013-11-13 11:03
0

try catch应该可以的啊

Aiolos丶M | 园豆:153 (初学一级) | 2013-11-13 15:05
0
whlalhj | 园豆:229 (菜鸟二级) | 2014-06-10 19:49
清除回答草稿
   您需要登录以后才能回答,未注册用户请先注册