【问题标题】:can [DebuggerStepThrough] be used to not break on parts of my code?[DebuggerStepThrough] 可以用来不中断我的部分代码吗?
【发布时间】:2018-07-27 09:01:23
【问题描述】:

我有一个经常被调用的方法,有时我会捕获并处理一个异常。
但令人讨厌的是,每次发生异常时 VS 都会在该代码处中断,我想告诉 VS 继续运行,因为无论如何都会处理异常。

所以我尝试使用 DebuggerStepThrough 属性,但是当我将它插入到我的代码中时,我得到了数百个错误。

有没有办法告诉 VS 在发生异常时不要中断这段特定的代码

在下面的代码中,当异常发生时,我不会让调试器中断

// some code here

//[DebuggerStepThroughAttribute()]
[DebuggerStepThrough] // this does not compile
try
{
    _Table.PrimaryKey = new DataColumn[] { Table.Columns[PrimaryKeyName] };
}
catch 
{ // code for when exception happend...
}

// more code here...

【问题讨论】:

  • 故意抛出异常不好,赋值前可以不做一些验证吗?
  • @Jaxi 我不是故意抛出任何异常。我只是抓住一个可能发生的问题?
  • 如果异常是可预防的,则应该预防
  • @Jaxi 你没抓住重点。

标签: c# visual-studio debugging


【解决方案1】:

您应该能够在异常设置选项卡(CTRL-D、E)中处理此问题,或者单击“调试”>“Windows”>“异常设置”。

如果您清除“抛出时中断”下的复选框,那么如果您已在代码中处理了异常,则它不应在调试器中中断。您可以在个别例外的基础上执行此操作。如果特定的异常类型不存在,则单击 + 按钮将其添加到列表中。

我已经在您在评论中提到的相同版本下对此进行了测试。

【讨论】:

  • 我的理解是 GuidoG 不想为整个项目禁用相同的异常。他只是想在某些特定的方法或代码行中禁用一个。
猜你喜欢
  • 1970-01-01
  • 1970-01-01
  • 2021-09-09
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2010-09-14
  • 2023-03-19
  • 2015-01-14
相关资源
最近更新 更多