• 【转】Winform程序未捕获异常解决方法 EventType clr20r3 P1


    from:http://blog.csdn.net/chichaodechao/article/details/8294922

        在开发winform程序时,用到多线程,在服务器部署后运行,老是自动关才程序,症状描述如下:

        在Windows Server 2003的操作系统上,运行.Net 2.0或者3.5的应用程序时,会发现没有任何反应,到系统的事件查看器里会发现类似EventType clr20r3 P1....P2...PN的错误提示。

        很可能的原因就是:应用程序出现了异常,而.net没有或者无法捕捉该异常,所以导致出现如下情况:

        1.程序自动关闭。

        2.此时去任务管理器中会看到一个DW20.exe的进程,不久会自动消失

        3.到事件查看器里面会发现类似EventType clr20r3 P1....P2...PN的错误提示。 

        解决方法一:

        config文件中

      <configuration>    

        <runtime>        

          <legacyUnhandledExceptionPolicy enabled="true" />    

        </runtime>

      </configuration>

      这样,主程序遇到未捕获异常不会强制关闭,但为了程序的稳定性与安全性,应该找出抛异常的地方,将其修改

        解决方法二:

        用到UnhandledExceptionEventHandler事件,通过这个事件,我们可以截获未捕获异常,并进行处理

        这个事件的事件参数UnhandledExceptionEventArgs e 有两个属性,一个是ExceptionObject,这个属性返回为截获异常的对象实例。还有一个属性是IsTerminating,这个属性告诉我们这个异常是否会导致应用终止。

        这里需要说明的是,对于.Net1.1  .Net2.0及以上,情况是不一样的,.Net1.1 只有在主线程中的未捕获异常才会终止应用程序,而.Net2.0及以上版本则是始终终止应用程序。

          在主窗体main下,加         

      AppDomain.CurrentDomain.UnhandledException +=new UnhandledExceptionEventHandler(UnhandledExceptionEventHandler);

      并编码UnhandledExceptionEventHandler事件,

            static void UnhandledExceptionEventHandler(object sender, UnhandledExceptionEventArgs e)

            {

                try

                {

                    LogHelper.ErrorLog(e.ExceptionObject.ToString());//LogHelper是写日志的类,这里,可以直接写到文件里

                }

                catch

                {

                }

            }

        运行程序,异常捕获,找到了问题所在,对代码进行改写

    本文结束。

     

    参考:

    http://www.cnblogs.com/eaglet/archive/2009/02/17/1392191.html(重要)

     

     

    http://hi.baidu.com/ymwang/blog/item/07b1b20eab9cdde537d12265.html(重要)

     

    http://www.cnblogs.com/xclw/archive/2009/09/29/1576436.html

     

    http://www.cnblogs.com/dudu/archive/2006/05/07/393446.html

     

    http://hi.baidu.com/xiejl/blog/item/98743c1f161cafc1a686697e.html

     

    http://topic.csdn.net/t/20050304/22/3825910.html 

     

    http://www.yesky.com/258/1653758.shtml 

    http://www.cnblogs.com/cgzwwy/archive/2008/08/31/1280597.html

    走向地狱的途中,不小心走了程序员这条路,路上一个个黑心的老板,和暗无天日的加班,我才发现,通往地狱的路径中,我们这行是最短的。

     
     
     
     
     
  • 相关阅读:
    Javascript 笔记与总结(2-1)Javascript 与 DOM
    单元测试Struts2的Action(包含源码)
    读书、学习、工作和生活中收集的20条经典语录:1-20
    读书、学习、工作和生活中收集的20条经典语录:1-20
    2013年工作中遇到的20个问题:201-220
    2013年工作中遇到的20个问题:201-220
    《大话设计模式》读书总结
    《大话设计模式》读书总结
    中国象棋程序的设计与实现(三)--2012本科毕业论文等重要文档资料
    中国象棋程序的设计与实现(三)--2012本科毕业论文等重要文档资料
  • 原文地址:https://www.cnblogs.com/SummerRain/p/3495414.html
Copyright © 2020-2023  润新知