当前位置: 首页 > 编程语言 > C#

silentexception,分享

时间:2023-04-10 22:57:14 C#

silentexception,我在64位遇到了这个奇怪的silentexception问题。是什么导致了这种行为?我想了解为什么会发生这种情况以及推荐的解决方案是什么?在主要部分:尝试{Application.Run(newForm1());}catch(Exceptionex){MessageBox.Show("Error");}privatevoidForm1_Load(objectsender,EventArgse){thrownewException("哦不!");}为了加载窗体,您的代码将调用一个内核函数来创建窗体的窗口,该内核函数将通过发送一条调用您的OnLoad方法的消息来回调您的代码。如果在该方法中抛出异常,异常处理机制会将调用堆栈移回内核模式边界。在x86上,异常可以跨越这个边界并返回到原始调用者。在x64上,它会在遇到边界时停止并且无法继续。在XP64和Vista中,异常被吞没(忽略),当发生这种情况时,带有声明它与Win7兼容的清单的64位应用程序将崩溃。要了解64位Win7上其他操作系统或32位应用程序的崩溃行为,请参阅KB976038。对于在x64上作为内核模式回调调用的任何事件处理程序,都会发生此行为。以上就是C#学习教程:沉默的例外,全部内容分享,如果对你有用,需要进一步了解C#学习教程,希望大家多多关注。本文收集自网络,不代表立场。如涉及侵权,请点击右侧联系管理员删除。如需转载请注明出处: