我从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