2016-02-22 61 views
0

想知道如果下面就以簡單的方式來實現:因爲它如果即使執行,如何寫「如果不抓住」的代碼在嘗試捕捉

Try 
    Some Statements 
Catch ex As ... 
    Error handling stuff 
NotCatch 
    Code to handle *only* if there was no Catch 
End Try 

一個最後集團不會做Catch被執行。在End Try之後放置代碼也不起作用,因爲它總是被執行。我嘗試在錯誤處理的東西之後放置一個Exit Try,但在結束嘗試之前沒有再執行任何操作。

是否有一個乾淨和簡單的方法來做到這一點沒有變量記住Catch被執行?

+1

把它放在一個函數中,它返回一個布爾值,表示Catch是否被觸發 – Plutonix

回答

1

正常的方法是這樣的:

Try 
    Some Statements 
    Code to handle *only* if there was no Catch 
Catch ex As ... 
    Error handling stuff 
End Try 

這工作,因爲只要拋出一個異常,控制跳轉到catch塊和try塊的其餘部分被忽略。或者換一種說法:如果「try」中的某行運行,那麼您知道還沒有異常。

如果你有其他的要求,這意味着這將無法正常工作,那麼你需要提供更多的信息。

+0

但是在那個時候,我還不知道是否會有一個catch,在那個位置,代碼將被執行,而目標是如果catch不被執行則執行_only_。 – CeSinge

+1

如果某些語句拋出一個錯誤,其餘的將不會執行 – MrGadget

+0

好吧...這確實不是很複雜,但我沒有考慮到這一點。謝謝,@ John3136,整潔的把戲。 – CeSinge