码迷,mamicode.com
首页 > 移动开发 > 详细

在.NET Windows Form Application中统一处理未处理的异常总结

时间:2014-09-05 19:42:21      阅读:180      评论:0      收藏:0      [点我收藏+]

标签:style   io   使用   strong   for   sp   on   c   line   

在Windows Form Application中,异常若最终得不到处理,则会触发AppDomain.CurrentDomain.UnhandledException事件进行以进行最终的异常记录(使用此事件无法避免应用程序的终结)。在此事件被触发之前,分以下情况可决定是否将异常继续传播。

主线程

使用Application.SetUnhandledExceptionMode(bool)方法预先设置处理模式:

  • 若为UnhandledExceptionMode.ThrowException,则表示继续传播。
  • 若为UnhandledExceptionMode.CatchException,则使用Application.ThreadException事件进行捕获处理,若在此事件中再抛出异常则会继续传播。

 

任务,包括用new Task()与TaskFactory创建的

可使用TaskScheduler.UnobservedTaskException事件进行捕获处理(注意此事件要在垃圾收集完毕后才会触发)设置Observed值:

  • 若为False,则表示继续传播
  • 若为True,则不会继续传播。

 

自定义线程,包括使用New Thread()与ThreadPool创建的

在.NET Windows Form Application中统一处理未处理的异常总结

标签:style   io   使用   strong   for   sp   on   c   line   

原文地址:http://www.cnblogs.com/beta2013/p/3958520.html

(0)
(0)
   
举报
评论 一句话评论(0
登录后才能评论!
© 2014 mamicode.com 版权所有  联系我们:gaon5@hotmail.com
迷上了代码!