Contents
Index 🔎︎

# On Error GoTo ... Resume Statement

發生錯誤時啟動錯誤處理常式，或恢復程式執行。

## 語法：

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

## 參數：

GoTo Labelname：發生錯誤時，讓錯誤處理常式跳換到「Labelname」行處開始執行。

Resume Next：發生錯誤時，程式繼續執行出錯陳述式後面的陳述式。

GoTo 0：在目前程序中停用錯誤處理程式。

本機：「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