当前位置:  开发笔记 > 编程语言 > 正文

Visual Studio:如何打破处理的异常?

如何解决《VisualStudio:如何打破处理的异常?》经验,为你挑选了5个好方法。

我希望Visual Studio在发生处理异常时中断(即我不只是想看到"第一次机会"消息,我想调试实际异常).

例如,我希望调试器在异常处中断:

try
{
   System.IO.File.Delete(someFilename);
}
catch (Exception)
{
   //we really don't care at runtime if the file couldn't be deleted
}

我遇到了Visual Studio.NET的这些笔记:

1)在VS.NET中进入Debug菜单>>"Exceptions ...">>"Common Language Runtime Exceptions">>"System"并选择"System.NullReferenceException"

2)在该对话框的底部有一个"当抛出异常时:"组框,选择"进入调试器"

3)运行您的方案.抛出异常时,调试器将停止并通过一个对话框通知您,类似于:"抛出类型"System.NullReferenceException"的异常.[Break] [Continue]"

点击[休息].这将使您处于导致问题的代码行.

但它们不适用于Visual Studio 2005(" 调试"菜单上没有" 例外"选项).

有谁知道在Visual Studio中找到这个选项对话框中的" 当抛出异常时 "组框,并选择" 进入调试器 "?

更新:问题是我的调试菜单没有Exceptions项.我自定义菜单以手动添加它.



1> Austin Salon..:

打开解决方案后,转到Debug - Exceptions(Ctrl+ D,E)菜单选项.从那里,您可以选择中断Thrown或User-unhandled异常.

编辑:我的实例是用C#"配置文件"设置的,也许它不适用于其他配置文件?


我有调试菜单,但没有例外选项.我自定义菜单以手动添加它; 快捷键以任一方式工作(Ctrl + Alt + E)
我在Visual Studio 2017中选择了"公共语言运行时异常">"所有公共语言运行时异常不在此列表中",并且我所有的最疯狂的梦想都实现了.
我只是没有这样的选择.这可以解释我的困惑.
Visual Studio 2015:调试 - > Windows - >异常设置
此外,您可以通过转到"工具","导入导出设置"并选择重置到C#环境来重置VS2010环境...它包含例外子菜单项
@Matt,这就是_Throw_上的Break_所做的。

2> Rob Walker..:

VS2005中有一个"例外"窗口... 在调试时尝试Ctrl+ Alt+ E,然后单击要停止的例外的"投掷"复选框.


如果您需要"例外"菜单项:选择"工具"| 自定义....单击"命令"选项卡.在"类别"框中选择"调试"类别.找到Exceptions ...命令项,然后将其拖到应用程序顶部的Debug菜单中,将其放在菜单中的适当位置.(见以下评论:http://blogs.vertigo.com/personal/keithc/Blog/archive/2007/07/20/missing-menu-options-in-visual-studio-2005.aspx)

3> Beginner..:

花了一段时间才找到了新的设置场所,因此得到了新的答案.

从Visual Studio 2015开始,您可以在"异常设置"窗口(Debug-> Windows-> Exception Settings)中控制要停止的异常.捷径仍然是Ctrl- Alt- E.

处理自定义异常的最简单方法是选择"不在此列表中的所有异常".

以下是德语版的截图:

在此输入图像描述



4> Sameer..:

从Visual Studio 2015开始,您需要转到"异常设置"对话框(Ctrl+ Alt+ E)并检查"公共语言运行时异常"(或您想要的特定属性ArgumentNullException),以使其在处理的异常中中断.

步骤1 步骤1 第2步 第2步



5> Guy Starbuck..:

使用Debugger页面检查管理异常,它解释了如何设置它.

基本上,这是步骤(在调试期间):

    在"调试"菜单上,单击"例外".

    在"例外"对话框中,为整个例外类别选择"投掷",例如"公共语言运行时例外".

    -要么-

    展开一个例外类别的节点,例如,Common Language Runtime Exceptions,并为该类别中的特定异常选择Thrown.

推荐阅读
路人甲
这个屌丝很懒,什么也没留下!
DevBox开发工具箱 | 专业的在线开发工具网站    京公网安备 11010802040832号  |  京ICP备19059560号-6
Copyright © 1998 - 2020 DevBox.CN. All Rights Reserved devBox.cn 开发工具箱 版权所有