【问题标题】:Can you set VS2008 to break on an error inside a try-catch statement你能设置 VS2008 在 try-catch 语句中出现错误吗?
【发布时间】:2010-10-08 16:19:52
【问题描述】:

我喜欢 VB6 的一件事是,无论您设置了何种错误处理,您都能够告诉开发环境中断所有错误。是否可以在 VS2008 中做同样的事情,以便调试器在任何错误上停止,即使它发生在 try-catch 语句中?

当您处理包含 500 条记录的文件并且其中一条记录失败时,问题尤其困难 - 谁知道是哪条记录 - 您不想修改代码,以便在外部初始化 for 计数器for 循环 - 从长远来看,这是草率的。您只是希望调试器知道由于您放置在某处的某些设置而停止。

【问题讨论】:

    标签: c# vb.net visual-studio debugging exception


    【解决方案1】:

    是的,进入“Debug”菜单,选择“Exceptions...”,勾选“Thrown”中的“Common Language Runtime Exceptions”

    【讨论】:

      【解决方案2】:

      当然,按 Ctrl-Alt-E 调出异常窗口并勾选 Common Language Runtime Exceptions 上的 Thrown 复选框

      这将停止执行,打开引发异常的源代码,并通过消息窗口告诉您这是什么错误,并指向引发异常的行。

      【讨论】:

        【解决方案3】:

        我发现在调试工作中的项目时,每个人都在谈论的复选框。我打开它,突然间我把所有这些异常都抛出了!结果发现另一个团队的开发人员一直在使用 Try-Catch 作为掩码,以应对容易预防的情况(但懒得困住自己)。糟糕!

        【讨论】:

        • +1 因为这很有趣,但事实并非如此。我自己也遇到过这种情况。不好玩。
        【解决方案4】:

        在 Visual Studio 中,您可以转到 Debug -> Exceptions... 并选中任何特定异常或您希望 VS 在生成时中断的异常类别的复选框。

        有五类异常 - C++、公共语言运行时、托管调试助手、本机运行时检查和 Win32。大多数情况下,您对 CLR 感兴趣,但如果您正在执行 COM 互操作,您可能还需要其他一些。

        【讨论】:

          猜你喜欢
          • 2013-05-20
          • 1970-01-01
          • 2014-10-12
          • 2019-07-31
          • 1970-01-01
          • 1970-01-01
          • 2014-03-02
          • 2014-10-31
          • 2011-12-21
          相关资源
          最近更新 更多