【问题标题】:Never break for specific try catch block in Visual Studio永远不要中断 Visual Studio 中的特定 try catch 块
【发布时间】:2017-12-31 03:29:30
【问题描述】:

在处理异常时,我总是喜欢不中断特定的 try/catch 语句。

例子:

  • 在我希望它经常发生(通常在更深层次)的非常特殊的情况下,我不想打破这个 TimeoutException
  • 我确实想中断所有其他 TimeoutExceptions
  • 对于非常高级的 try/catch,我实际上从不想在异常中断之前将其吞下。对某个工作进程的最高级别进行尝试/捕获。

在 VS 中,有一个基于 ExceptionType 的忽略和一个 'except from this dll' 属性。

对我来说,这通常还不够,但更多的是一种解决方法。您必须很幸运,他们实际上编写了一个您可以捕获和忽略的特定异常。为这个功能添加一个单独的程序集似乎有点过头了。

问题

是否可以说“永远不要打破这个和这个 try/catch” - 但要打破所有其他的?

【问题讨论】:

标签: c# visual-studio debugging exception try-catch


【解决方案1】:

查看Don't stop debugger at THAT exception when it's thrown and caught 以及那里的答案。尤其是 System.Diagnostics.DebuggerHidden 属性在这种情况下可能会有所帮助。

【讨论】:

  • 你可以考虑使用多个 catch 块,像这样 try { } catch (TimeoutException ex) { //Break here } catch (Exception ex) { } 然后你就可以随心所欲地处理每个异常
猜你喜欢
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2016-12-10
  • 2023-01-13
  • 2014-12-01
  • 1970-01-01
相关资源
最近更新 更多