我知道在下面的例子中应该使用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