首页 新闻 会员 周边 捐助

.net 程序自动退出

0
悬赏园豆:15 [已解决问题] 解决于 2009-09-15 12:56

情况是这样的我们.netwinform程序是三次开发用到了别的厂家的控件.程序莫名退出,程序之中也到处有try cach 了.现在我打算想找一个系统级抓错的工具,大家帮忙想想.

Jerry Qian的主页 Jerry Qian | 初学一级 | 园豆:19
提问于:2009-09-07 10:30
< >
分享
最佳答案
0

参考我写的这篇

http://www.cnblogs.com/eaglet/archive/2009/02/17/1392191.html

收获园豆:10
eaglet | 专家六级 |园豆:17139 | 2009-09-07 11:14
这个问题是我同事们出的,好们也加了unhandler异常处理,没有找到.不知道是不是他们写的问题. 目前怀疑有第三方控件引起的,我们的解决方案是两个程序,我们的主程序,再做一个程序包装第三方,两个程序之间再进行通信,如果包装程序自动关闭,则在自动启动.汗,
Jerry Qian | 园豆:19 (初学一级) | 2009-09-07 14:08
第三方组件只要是.net的,肯定可以捕获异常的,我遇到过这个问题,调用第三方的邮件接收组件,结果出现异常,用我上面的方法就可以捕获。我怀疑你的同事可能写的哪边有问题,或者第三方组件不是.net的。
eaglet | 园豆:17139 (专家六级) | 2009-09-08 07:49
注意,如果是winform 的程序,不能按楼下那样捕获异常,因为那样只能捕获主线程的未捕获异常,一定要按我上面链接的方法捕获异常!
eaglet | 园豆:17139 (专家六级) | 2009-09-08 07:51
其他回答(1)
0

winform莫名退出,一般都是出现unhandled exception,可以通过

 Application.ThreadException += new System.Threading.ThreadExceptionEventHandler(Application_ThreadException);

 

private static void Application_ThreadException(object sender, System.Threading.ThreadExceptionEventArgs e)
        {
            Log.Error(string.Empty, e.Exception);
        }

 

通过日志记录异常查看

收获园豆:5
吴畏 | 园豆:426 (菜鸟二级) | 2009-09-07 13:17
Application.ThreadException 似乎只能截获 WinForm 主线程的未捕获异常。
支持(0) 反对(0) eaglet | 园豆:17139 (专家六级) | 2009-09-07 13:54
清除回答草稿
   您需要登录以后才能回答,未注册用户请先注册