在我的代码中,我目前有一个异常处理设置,它将异常记录到文本文件中。但是,当我调试代码时,我宁愿不处理异常并让执行停止而不是读取文件,设置断点等。是否有一种简单的方法可以使用构建和发布配置(某些东西)像一个预处理器指令,我可以用来注释掉一些异常处理代码)?
事实证明,有一个比原始问题更好的解决方案,请参阅第一个答案。
答案 0 :(得分:7)
C#执行have preprocessor directives(例如if,define等等),您可以将其用于此目的。
但是,您也可以修改Visual Studio中“Debug - > Exceptions ...”下的设置,以便每次抛出异常时调试器都会中断(在执行进入catch块之前)。
答案 1 :(得分:4)
尝试这样的事情:
if ( System.Diagnostics.Debugger.IsAttached )
System.Diagnostics.Debugger.Break();
else
LogException();
答案 2 :(得分:1)
#if DEBUG
// Something
#else
// Something else
#endif
答案 3 :(得分:1)
答案 4 :(得分:0)
我会毫不犹豫地使用预处理程序指令。我想你想要的东西很容易适用于你的整个解决方案,并且不在你的代码中粘贴预处理器指令。
在之前的答案中,乔尔很好。但是,您可以通过转到Debug / Exceptions来完成相同的操作,并确保选中“Common Language Runtime Exceptions”行中的复选框。通常默认选择用户未处理。