On Error GoTo ... Resume Statement

Ŝaltas erarotraktantan procedon post okazo de eraro, aŭ reekrulas programon.

Sintakso:

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

Parametroj:

GoTo Labelname: Se eraro okazas, ŝaltas la erartraktan proceduron kiu komencu ĉe la linio "Labelname".

Resume Next: Se eraro okazas, programa ruliĝo daŭros de la ordono kiu sekvas la ordonon kie la eraro okazis.

GoTo 0: Malŝaltas la erartraktilon en la aktuala proceduro.

Local: "On error" is global in scope, and remains active until canceled by another "On error" statement. "On Local error" is local to the routine which invokes it. Local error handling overrides any previous global setting. When the invoking routine exits, the local error handling is canceled automatically, and any previous global setting is restored.

The On Error GoTo statement is used to react to errors that occur in a macro.

Ekzemplo:

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 #iNumero, "Jen linio de teksto"

    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 "Ĉiuj dosieroj fermiĝos",0,"Eraro"

End Sub