我在两个程序中处理了相同的异常,但得到了不同的结果。我不知道为什么。
第一个结果是程序无法捕获
Scapshot1:www.freeimagehosting.net/uploads/e2b37433a3.png
第二个是程序成功捕获的
Scapshot2:www.freeimagehosting.net/uploads/6ab7564999.png
为什么我有这么不同?
好吧,您并没有真正提供太多背景信息。检查事项:
据我所知,在#1 中,您正在调试器中运行。在#2中,您不是。
事实上,我会假设异常是完全相同的,因为消息是相同的。没有区别,IOW。
我不确定我是否理解,看起来它是同样的错误但是
请提供更多信息
调试器在面对异常时的行为可能会有很大的不同。
调用 Application.Run() 后,您无法更改 Application.UnhandledExceptionMode,因此很明显这不是要捕获异常的方法。
这留下了 AppDomain.UnhandledException。是的,调试器将在引发该事件之前中断异常。不错的功能,允许您调试异常原因。只需按 F5 继续执行以触发事件处理程序。没有证据表明您在第二个屏幕截图中使用了调试器,看起来您是使用 Ctrl+F5 启动的。