我有一个带有 Win7 的 64 位系统,我使用带有 .Net Framework 4.0 的 VS2010。
在 Winform 应用程序中,我从第三方组件获得异常,我试图用 Try-Catch 捕获此异常,但它不起作用!
为什么?
更新
如果我取消选中 CLR 异常它可以正常工作,但由于这个已知问题我不得不检查它:为什么表单加载无法捕获异常?
如果我按 F10 它将继续进入 catch 语句!
我有一个带有 Win7 的 64 位系统,我使用带有 .Net Framework 4.0 的 VS2010。
在 Winform 应用程序中,我从第三方组件获得异常,我试图用 Try-Catch 捕获此异常,但它不起作用!
为什么?
更新
如果我取消选中 CLR 异常它可以正常工作,但由于这个已知问题我不得不检查它:为什么表单加载无法捕获异常?
如果我按 F10 它将继续进入 catch 语句!
似乎您在这里使用调用非托管 dll。尝试使用ExternalException Class捕获此异常。这可能对您有用,但是一旦您脱离了 .NET 运行时的控制,这完全取决于非托管代码;.NET 运行时无能为力。
您是否未选中以下设置:
当异常跨越 AppDomain 或托管/本机边界时中断(仅限托管)
在 Visual Studio 2010 的 Tools->Options->Debugging->General 选项卡中
它在 MSDN 中解释