2010-05-28 105 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