On Error GoTo ... Resume Statement

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

Syntax:

On Error Statement diagram


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

Parameters:

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

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

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

本機:「On error」範圍涵蓋全域,除非遭到其他「On error」陳述式取消,否則會保持在使用中。而「On Local error」則適用於本機,僅限於呼叫的常式。本機錯誤處理會覆寫任何先前的全域設定。當呼叫的常式存在時,本機錯誤處理會自動取消,而且會復原所有先前的全域設定。

On Error GoTo 陳述式用來反應出現在巨集內的錯誤。

Example:


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

Please support us!