为什么在C#中处理同一异常时会出现两个不同的结果?
我在两个程序中处理了相同的异常,但得到了不同的结果。我不知道为什么。为什么在C#中处理同一异常时会出现两个不同的结果?,c#,exception,unhandled,C#,Exception,Unhandled,我在两个程序中处理了相同的异常,但得到了不同的结果。我不知道为什么。 第一个结果是程序无法捕获的结果 Scapshot1:www.freemagehosting.net/uploads/e2b3743a3.png 第二个是程序成功捕获的 Scapshot2:www.freemagehosting.net/uploads/6ab7564999.png 为什么我会有如此不同的想法?好吧,你并没有提供太多的背景。检查事项: 它们是否是相同类型的应用程序(WPF、WinForms、Silv
第一个结果是程序无法捕获的结果
Scapshot1:www.freemagehosting.net/uploads/e2b3743a3.png 第二个是程序成功捕获的
Scapshot2:www.freemagehosting.net/uploads/6ab7564999.png
为什么我会有如此不同的想法?好吧,你并没有提供太多的背景。检查事项:
- 它们是否是相同类型的应用程序(WPF、WinForms、Silverlight、Console等)
- 他们使用的是同一版本的.NET吗
- 它们是否在同一版本的Windows上运行
- 它们是否有相同的代码来响应未处理的异常李>
事实上,我将假设异常是完全相同的,因为消息是相同的。没什么区别,瞧。我不确定我是否理解,看起来是同一个错误,但是
- pic1-未处理的错误
- pic2-已处理错误
请提供更多信息调试器在遇到异常时的行为可能会有很大差异
在调用Application.Run()之后,您无法更改Application.UnhandledExceptionMode,因此很明显,这不是捕获异常的方法
这将使AppDomain.UnhandledException处于未处理状态。是,调试器将在引发该事件之前中断该异常。很好的特性,允许您调试异常原因。只需按F5继续执行即可触发事件处理程序。没有证据表明您在第二个屏幕截图中使用了调试器,看起来您是用Ctrl+F5启动的。错误的屏幕截图类似于用户通过电子邮件向您发送word文档,扫描其错误的照片。请为那些被免费图像托管站点阻止的用户粘贴错误文本。oops。它再次在我的catch块中引发异常