Module
Contents
Index 🔎︎

# On Error GoTo ... Resume 语句

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

## 语法：

    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:\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