[英]Visual Studio 2013 catching unhandled exceptions
几天前,我们的新Visual Studio 2013副本已发送给我们。 我之前和2010年合作过,在2013年工作了几天之后,我真的很喜欢它,但现在我发现了一些非常烦人的东西。 看一看:
好吧,我的Visual Studio是德语,但我认为你可以得到正在发生的事情。 我想知道为什么VS说我有一个未处理的例外。 除了尝试捕捉这个我可以做什么来处理异常?
这只是一个例子。 我的真实代码有点复杂,try / catch位于这段代码之上的某些级别。
我不记得VS2010表现得像这样。
我查看了例外设置,但我没有更改任何内容,所以我使用默认设置:
我想知道的是为什么VS处理这个代码好像它是未处理的,当你可以看到它不是。 这就是为什么我不想在我的例外设置中更改任何内容。 你有什么想法或建议吗?
它在帮助你。 在运行时,您将获得预期的结果,即。 它将进入catch区块。
禁用选项中的所有异常,VS将忽略所有异常并让代码捕获它们。
编辑:
您应该展开列表,因为它们将包含已检查的项目,即使未选中父/组复选框也是如此。
所以我尝试了Alex的提示,取消选中对话框中的Exception。
取消选中Exception后,我的代码就像在VS调试器外部运行一样。 但我对声明不满意
设置为“全局”。 从那时起它将忽略异常
所以我接着进行了一些研究。 我把一些未处理的IOException抛入我的代码中。 VS打破了异常的界限,我想知道的是,因为我取消了上述观点。 看着VS对话框,我发现它们并不完全相同,它们有很小的区别。
有人说(因为我的VS是德语,我自己把它翻译成英文,也许文本在实际上有点不同): IOException未被处理 - 这是在Exception对话框中取消选中项目后未处理的IOException。
另一个说(由我自己翻译): IOException不是由usercode处理的 - 这是在Exception-dialog中检查项目。
那么代码和用户代码之间有什么区别?
我去谷歌进行一些研究,我发现了两个非常重要的网站。 首先解释ExceptionDialog的含义。 我没有引用任何内容,因为本网站上的所有信息都值得注意。
现在让我们知道VS如何检测用户代码。 因此我找到了secound网站:
通过所有这些信息,我做了这些实验:
嗯,现在有点清楚了。 我仍然想知道为什么启用托管进程,VS中断,即使我有处理代码。 也许有一些debugCode围绕调用我的方法,可能被视为网站上提到的“系统代码”!?!?
嗯,这就是我发现的。
问候Ronny
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.