Erw*_*yer 5 c# exception-handling exception break visual-studio-2015
一张图片值得一提,以下是可能的:
可以看出,Visual Studio的2015年(最新版本)断裂,而Common Language Runtime Exceptions
在Exception Settings
未被选中,Enable Just My Code
在Tools > Options > Debugging
被选中,并将异常清晰地处理(在try/catch块内).
该行失败并导致中断是对外部API的调用(这有点错误,因此是try/catch块).
我错过了一些可以证明休息的理由或者这是一个错误吗?我认为这个其他问题会提供一些见解,但遗憾的是在这里没有帮助(处理异常因此我们不需要启用其他Continue When Unhandled in User Code
选项.
这个例外有一个特殊情况,我猜这也适用于这里。来自文档:
AccessViolationException 和 try/catch 块
从 .NET Framework 4 开始,如果公共语言运行时引发的 AccessViolationException 异常发生在公共语言运行时保留的内存之外,则结构化异常处理程序中的 catch 语句不会处理该异常。要处理此类 AccessViolationException 异常,您应该将 HandleProcessCorruptedStateExceptionsAttribute 属性应用于引发异常的方法。此更改不会影响用户代码抛出的 AccessViolationException 异常,该异常可以继续由 catch 语句捕获。对于为早期版本的 .NET Framework 编写的代码,如果您希望在 .NET Framework 4 上重新编译和运行而不进行修改,您可以将该元素添加到应用程序的配置文件中。请注意,如果您已为 AppDomain.FirstChanceException 或 AppDomain.UnhandledException 事件定义了处理程序,您还可以收到异常通知。
正如文档所说,解决方案是将HandleProcessCorruptedStateExceptionsAttribute添加到方法中Start()
。如果不可能(例如,这是通过库提供的),我猜您可以添加一个包装调用的方法并将属性添加到该包装方法。