如果我在catch中添加一个只有Debugger.Break()的try-catch块

Kon*_*ski 2 c# debugging release exception try-catch

...它会在发布版本中有效地成为一个空的try-catch吗?

或者它永远不会构建?

try
{
   // do stuff...
   // do stuff...
}
catch
{
    Debugger.Break();
}
Run Code Online (Sandbox Code Playgroud)

我知道Debugger调用不会被包含 - 显然,但是这也适用于我包装它的catch吗?

这是件坏事吗?它仅用于调试目的 - 我希望异常发生在它发生的地方,而不是它在堆栈冒泡之后离开我的地方.它更方便.

And*_*bel 6

不直接回答您的问题,但您是否知道Visual Studio具有内置功能,可在发生异常时直接中断?

您可以在Debug-> Exceptions(或Ctrl + Alt + E)下找到该功能

有关详情,请访问http://stevesmithblog.com/blog/visual-studio-break-when-exception-thrown/.