2010-05-28 128 views
2

嗨,我有一个全局通用异常处理程序(捕获ex作为例外),从应用程序的所有未处理的异常。 但在调试模式下(应用程序从VS运行),我不希望这种异常去这个全局处理程序。 对我来说更好的是,VS在异常发生时停止应用程序。捕获异常只发布

我该怎么做,还是有一些更好的方法呢?

感谢

回答

3

终于让我找到解决办法:

Try 
    ...... 
#If DEBUG Then 
    Catch ex As Exception When False 
#Else 
    Catch ex As Exception 
#End If 
    ...... 
    End Try 

PS:感谢JYelton的提示。

编辑:简化的解决方案

2

你可以使用一个preprocessor directive(本例中为C#):

#if DEBUG 
// omit exception handling (or use a different one) 
#else 
// exception handling event subscriber here 
#endif 
+0

好主意,但我我想知道我这样做:#如果 DEBUG ...大量的代码...... 的#else 尝试 ......很多代码... catch ex as Exception end try #endif ,因为重复代码。还有其他一些方法吗? – Cicik 2010-05-29 22:07:38

+0

您可以在'#if DEBUG'中设置一些变量,并使用它来进一步区分在调试模式下做什么(或不做)。这听起来像你想要根据这个评论在多个地方处理异常,而不仅仅是一个全局处理器。 – JYelton 2010-05-30 05:15:37