是什么吞噬了未处理的异常?在我制作的应用程序中,有时抛出但未处理的异常似乎消失得无影无踪,并在GUI中导致奇怪的错误。我通常逐步查找它,直到到达引发异常的行,此时VisualStudio立即停止逐步执行并返回到应用程序。它是一个IRC应用程序,因此它是由异步套接字连接驱动的。不确定这是否相关。我没有任何空的捕获块或类似的东西。显然这是x64机器的一个已知错误。该错误和解决方法在MicrosoftConnect上。编辑:如果有人对原因感兴趣,这是在错误关闭时发布的:嗨,此错误已作为“外部”关闭,因为此行为是由Windows的x64版本处理异常的方式引起的。当用户模式异常在内核中转换时,x64版本的Windows不允许传播异常。因此,附加的调试器不知道发生异常导致调试器无法在未处理的异常上中断的事实。不幸的是,VisualStudo团队无法修复此问题,这是操作系统设计的结果。有关此问题的所有反馈都应提交给Windows团队;但Windows团队认为这是“正确的”操作系统设计,并认为x86行为是“不正确的”。最好的问候,VisualStudio调试器这是一个用于查找神秘异常的调试技巧:在VisualStudio中,转到“调试”->“异常...”并选中“抛出”以获得公共语言运行时异常。这样,每当触发异常时,IDE就会中断。我已经用了很多来找到似乎被吞噬的异常。不过,别忘了将其关闭。?后台线程中任何未处理的异常都会导致运行时立即终止。您需要捕获并处理异步方法中的任何异常。看这个相关问题以上是C#学习教程:Whatswallowsanunhandledexception?如果所有分享的内容对你有用,需要进一步了解C#学习教程,希望大家多多关注。本文收集自网络,不代表立场。如涉及侵权,请点击右侧联系管理员删除。如需转载请注明出处:
