首页 新闻 会员 周边 捐助

Global捕捉未处理的异常处理失败。。这是怎么回事呢?

0
悬赏园豆:5 [已解决问题] 解决于 2014-11-04 17:23

如下图中所示,我的程序是基于框架的,我在Global中重写父类的未处理异常。。。

跟踪的时候也进了这个try,并且正常出try,未进入catch。在跑完Application_Error之后,弹出w3p中出现未处理的异常(下图),让我选择哪个版本的VS来进行调试。。。这是怎么回事呢?我已经将全局未处理异常在这抓取了啊。。

hexllo的主页 hexllo | 菜鸟二级 | 园豆:318
提问于:2014-10-30 10:02
< >
分享
最佳答案
0

你把base那句去掉呢?

收获园豆:5
幻天芒 | 高人七级 |园豆:37207 | 2014-10-30 10:16

 也没有用,我直接try{}catch{}也报错。。

说是W3p进程中出现未处理的异常。。W3p中的未处理的异常,我认为就等于是站点程序中出现未处理的异常,这个理解对不对?

hexllo | 园豆:318 (菜鸟二级) | 2014-10-30 10:18

@hexllo: 那看样子不是程序的异常,而是运行时的异常了(换台电脑跑代码,可以验证)。

幻天芒 | 园豆:37207 (高人七级) | 2014-10-30 10:54

@幻天芒: 换台电脑也有哦。。同事的电脑也是的。

hexllo | 园豆:318 (菜鸟二级) | 2014-10-30 17:03

@hexllo: 那从HttpApplication执行开始,跟踪代码看看。这种很少见,看看是不是其他库引起的~

幻天芒 | 园豆:37207 (高人七级) | 2014-10-30 20:25

@幻天芒: 在DB访问层用了微软企业库,这个问题是在连接数据库失败时它抛出的异常,但是我这样写应该能抓取到才对啊。。因为我看了下DLL的属性,也是托管的,如下图:

所以我就不知道是怎么回事了。

hexllo | 园豆:318 (菜鸟二级) | 2014-10-30 20:29

@hexllo: http://www.entlib.net/?p=1333 这里面的解决方案是安装更新。

幻天芒 | 园豆:37207 (高人七级) | 2014-10-31 09:08

@幻天芒: 我的理解是那个DLL出了.net不知道的异常,所以让IIS挂了。

hexllo | 园豆:318 (菜鸟二级) | 2014-11-04 17:24

@hexllo: 最终的问题是?

幻天芒 | 园豆:37207 (高人七级) | 2014-11-04 17:24

@幻天芒: 没有安装那个补丁,我修复了一下网络,保证能联上DB,那个DLL里抛出的是TNS连接超时,但是.net没有捕捉到,所以直接抛给IIS进程了,结果IIS进程里也不知道怎么处理,IIS进程就自动结束了。。。我是这么理解的,因为以前在开发windows Mobile程序的时候,有遇到异常闪退的情况,老大告诉我,mobile中的.net框架是精简的,有的异常它不认识,所以就不弹出在at...at 之类一大串的代码,而是直接闪退。。。我觉得这2个问题是一样的,你认为呢?

hexllo | 园豆:318 (菜鸟二级) | 2014-11-04 17:28

@hexllo: 第三方库的有些是非托管代码,所以可能会导致.Net不会抓异常。

幻天芒 | 园豆:37207 (高人七级) | 2014-11-04 17:31

@幻天芒: 嗯,就是这样的,谢谢大神

hexllo | 园豆:318 (菜鸟二级) | 2014-11-04 19:21

@hexllo: :)同进步~

幻天芒 | 园豆:37207 (高人七级) | 2014-11-05 08:45
其他回答(1)
0

http://blog.csdn.net/looob/article/details/5692214   ,希望对你有用,找有用的看吧!

大楚打码人 | 园豆:4313 (老鸟四级) | 2014-10-30 10:29
清除回答草稿
   您需要登录以后才能回答,未注册用户请先注册