private void button1_Click(object sender, EventArgs e)
{
///IDE will notify me of this exception
throw new Exception();
}
private void Form1_Load(object sender, EventArgs e)
{
//IDE will not notify me of this exception
throw new Exception();
//code will not execute
MessageBox.Show("test");
}
为什么?
---------------------- EDITED ---------------------- <无线电通信/> 正确答案是ChrisA提到的。 来自微软的一些报价:
这是x64版本的已知错误 Windows和异常的方式 处理。解决这个问题的一种方法 调试的问题是去 调试 - &gt;例外并选择 '抛出'用于异常类型 你有兴趣。这将停止 异常时的调试器 第一次点击(在Windows吃之前) 向上)。
此错误已关闭为“外部” 因为这种行为是由如何产生的 x64版本的Windows句柄 例外。当用户模式异常时 穿过内核转换,x64 Windows的版本不允许 传播的例外。因此 附加的调试器不知道 发生异常的事实 导致调试器失败 打破未处理的例外。
不幸的是,那里什么都没有 Visual Studo团队可以做到 解决这个问题,这是结果 操作系统设计。所有反馈 关于这个问题应该是 致Windows团队;然而 Windows团队认为这是 “正确”的操作系统设计, 并考虑x86的行为 “不正确”。
此修补程序尚未完整 测试。因此,它是有意的 仅适用于系统或计算机 遇到确切的问题 在一个或多个Microsoft中描述 知识库文章是 列在“KB Article Numbers”字段中 在这封电子邮件末尾的表格中 信息。如果你不确定是否 任何特殊的兼容性或 安装问题是相关的 有了这个修补程序,我们鼓励你 等待下一个服务包 发布。该服务包将包括 此修复程序的完全测试版本。我们 明白它可能很难 确定是否有任何兼容性或 安装问题是相关的 使用修补程序。如果你想 确认此修补程序 解决您的具体问题,或者是否 你想确认是否有 特殊兼容性或安装 问题与此相关 修补程序,支持专业人士 客户支持服务可以帮助您 那个。
答案 0 :(得分:0)
您是在x64机器上开发的吗?
如果是这样,您可能希望查看this。
该主题还涉及整个问题的a very detailed explanation。
这个,another show stopper(无论如何,对我来说,解决方法对我或我的同事不起作用)在x64上,导致我的开发框重建了win7 x86。
现在问题都消失了。但这非常令人失望。