为什么在C#中处理相同异常时有两个不同的结果?
题
我在两个程序中处理了相同的例外,但是结果得到了不同的结果。我不知道为什么。
第一个结果是程序无法捕获的结果
scapshot1:www.freeimagehosting.net/uploads/e2b37433a3.png
第二个是程序成功抓住的一个
scapshot2:www.freeimagehosting.net/uploads/6ab7564999.png
为什么我有这么不同?
解决方案
好吧,您并没有真正提供太多背景。要检查的事情:
- 它们是相同类型的应用程序(WPF,Winforms,Silverlight,Console等)吗?
- 他们使用的是同一版本的.NET吗?
- 他们在同一版本的Windows上运行吗?
- 他们是否有相同的代码来对未经治疗的例外做出反应?
其他提示
从我可以看到的,在#1中,您正在调试器中运行。在#2中,您不是。
实际上,我会假设例外完全相同,因为消息是相同的。 IOW没有区别。
我不确定我是否理解,看起来是相同的erro,但是
- PIC1-未经治疗的错误
- PIC2-处理错误
请提供更多信息
面对例外情况的调试器的行为可能会有所不同。
您无法更改应用程序。
它留下了appDomain.unhandledException。是的,调试器将在提出该事件之前违反例外情况。不错的功能,允许您调试异常原因。只需按F5继续执行即可触发事件处理程序。没有证据表明您在第二个屏幕截图中使用调试器,看起来您是从CTRL+F5开始的。
不隶属于 StackOverflow