C# 仅当项目处于调试模式时引发异常
我正在开发一个ASP.NET web表单应用程序。我有很多函数在某些特定情况下抛出一些异常。但是有很多功能。我不想删除和添加C# 仅当项目处于调试模式时引发异常,c#,asp.net,.net,debugging,exception-handling,C#,Asp.net,.net,Debugging,Exception Handling,我正在开发一个ASP.NET web表单应用程序。我有很多函数在某些特定情况下抛出一些异常。但是有很多功能。我不想删除和添加throw-ex语句反复出现。那么,有没有办法检查项目是否处于调试模式?(即检查web.config中的debug=“true”) 您可以使用#if编译器指令: #if(DEBUG) /// do your thing #endif 这是你想要的吗?您不应该在catch块内执行抛出ex;这会破坏堆栈信息。只需使用throw
throw-ex更新我的应用程序时,代码>语句反复出现。那么,有没有办法检查项目是否处于调试模式?(即检查web.config中的debug=“true”
)
您可以使用#if
编译器指令:
#if(DEBUG)
/// do your thing
#endif
这是你想要的吗?您不应该在catch块内执行抛出ex
;这会破坏堆栈信息。只需使用throw另一种方法是使用[Conditional(“DEBUG”)]属性,您可以在内部引发异常的方法上设置该属性。编译器将检查条件属性,如果您未处于调试模式,则方法调用将从MSIL中完全删除。@GeorgeLica绝对更干净,但应记住它将应用于整个方法。。。您可以有一个方法,该方法接受应用了该属性的操作委托。会让东西更干净更优雅!很不错的!这就是为什么我喜欢编程,它就像艺术:无限的可能性和无限的风格来塑造你的代码
#if(DEBUG)
/// do your thing
#endif