我從SO複製一段代碼作爲例子。子例程包含一個錯誤處理程序。應該爲所有Subs製作一個錯誤處理程序嗎?我們是否需要爲每個子例程創建一個錯誤處理程序?
Public Sub SubA()
On Error Goto ProcError
Connection.Open
Open File for Writing
SomePreciousResource.GrabIt
ProcExit:
Connection.Close
Connection = Nothing
Close File
SomePreciousResource.Release
Exit Sub
ProcError:
MsgBox Err.Description
Resume ProcExit
End Sub
順便說一下,如何做一個子程序內部的控制流時,代碼執行遇到Exit Sub
,End Sub
和Resume
?在執行過程中遇到諸如ProcError:
這樣的標籤時,它是執行它還是跳過它?
你說標籤塊將被忽略,但它是如何識別塊並將其與代碼的其餘部分分開? – lamwaiman1988 2011-05-27 07:53:13
@ gunbuster363:我認爲@ cmmi的聲明是正確的,雖然不是很清楚。 「標籤將被忽略」的含義是:標籤本身在執行時不執行任何操作。但是,標籤之後的代碼(你稱之爲「標籤塊」)肯定不會被忽略並且會被執行。 – 2011-05-27 08:07:13
我想我現在明白了。 – lamwaiman1988 2011-05-27 08:10:04