当前位置:首页 » .NET编程经验 » 正文

有关调用实时(JIT)调试而不是此对话框的详细信息

2015年3月2日 10:45:11  分类: .NET编程经验  参与: 人  点这评论

         今天在做项目的时候,发现退出软件在编译调试模式(Debug)下可以正常退出,但是当生成安装包用EXE打开的时候就弹出 “正在终止线程”(项目中用到了线程,在调用Abort()方法时出现)然后详细错误就显示 标题所示提示,很不友好。这种常见的异常消息还有“未将对象引用设置到对象的实例”,这种一般是没有判断对象是否为空(null)而进行调用导致的。这种情况一般只要在调用对象前保证先实例化改对象就可以了。

         而在由Abort()方法自主引发的异常的时候就没办法避免了,这时候最好在有可能出现异常的代码段加上try...Catch...异常捕获语句。刚开始我觉得这样就可以解决了,可是后来发现这样还是会弹出不友好的提示!在查阅了资料后发现,虽然在Catch中捕获了异常,但是在Catch中会再次引发异常,所以需要在Catch代码块里调用 Thread.ResetAbort() 方法的方式取消终止操作来避免不友好的弹窗。

        所以结合以上情况,出现这种不友好弹窗,一般都是没有进行异常捕获导致的。至于为什么我调试的时候不弹窗,生成安装包运行的时候弹窗,其实是因为我在子方法中没有处理Catch块中再次引发的异常导致的(在父方法中有异常捕获,而在调试模式下,父方法可以捕获子方法的异常,也就是说子方法会将异常传递给调用它的方法,但直接通过EXE运行的时候,子方法一出现异常就会弹出不友好提示了)。 网络上出现类似的现象,应该也是没有捕获完全!

来源:时间去哪儿了博客(微信/QQ号:903918446),转载请保留出处和链接!

本文链接:http://timegowhere.com/post/error-jit.html

本文标签:实时JIT调试    

<< 上一篇下一篇 >>

  • 评论(0)
  • 赞助本站

◎欢迎参与讨论,请在这里发表您的看法、交流您的观点。

相关文章

    搜索

    网站分类

    Tags列表

    最新留言

    微信公众号【双语悦读】

      【个人微信】

    站点地图 | 网站标签 | 给我留言

    Copyright © 2014-2016 timegowhere.com. All rights reserved. 粤ICP备15081222号