On Error GoTo ... Resume 语句

发生错误时启用错误处理例程或恢复程序执行。

语法:

On Error Statement diagram


On [Local] Error {GoTo Labelname | GoTo 0 | Resume Next}

参数:

GoTo Labelname」: 当发生错误时,在行 "Labelname" 的开始部分启用错误处理例程。

Resume Next」: 发生错误时,程序继续执行出错语句后面的语句。

GoTo 0」: 在当前过程中禁用错误处理程序。

Local」: "On error" 作用于全局范围,直到被另一个 "On error" 声明取缔之前一直有效。"On Local error" 局限于调用它的例程。本地错误处理覆盖任何之前的全局设置。当调用的例程退出时,自动取消本地错误处理,并且恢复任何之前的全局设置。

On Error GoTo 语句用于处理发生在宏中的错误。

示例:


Sub ExampleReset
On Error GoTo ErrorHandler
    Dim iNumber As Integer
    Dim iCount As Integer
    Dim sLine As String
    Dim aFile As String
    aFile = "C:\Users\ThisUser\data.txt"
    iNumber = Freefile
    Open aFile For Output As #iNumber
    Print #iNumber, "This is a line of text"
    Close #iNumber
    iNumber = Freefile
    Open aFile For Input As iNumber
    For iCount = 1 To 5
        Line Input #iNumber, sLine
        If sLine <>"" Then
            Rem
        End If
    Next iCount
    Close #iNumber
    Exit Sub
ErrorHandler:
    Reset
    MsgBox "All files will be closed",  0,  "Error"
End Sub

请支持我们!