我知道在下面的例子中應該使用Resume語句來代替Goto語句。錯誤處理模塊中的Resume和Goto之間的區別
Sub Method()
On Error Goto ErrorHandler
...
CleanUp:
...
Exit Function
ErrorHandler:
Log error etc
Err.Clear 'Is this line actually necessary?'
Resume CleanUp 'SHOULD USE THIS'
Goto CleanUp 'SHOULD NOT USE THIS'
End Sub
我的問題是兩者的執行有什麼不同?
乾杯MarkJ,從這個答案中學到很多東西。 – 2010-06-08 11:19:22
雖然測試我發現,如果在清理中出現錯誤,將會在ErrorHandler和CleanUp塊之間彈跳一個infinte循環。 因此推薦的技術是在CleanUp中具有On Error Resume Next? – 2010-06-08 13:55:43
@ Rich Oliver是的,這就是我所做的。看看這個問題http://stackoverflow.com/questions/536379/how-do-you-handle-errors-in-error-handlers-in-vb6甚至有一個看看標籤'vb6'和'錯誤處理'http://stackoverflow.com/questions/tagged?tagnames=vb6%2berror-handling&sort=votes&pagesize=15 – MarkJ 2010-06-08 16:20:03