Ukaz On Error GoTo ... Resume

Aktivira rutino za obdelavo napake, potem ko je do napake prišlo, ali pa nadaljuje z izvajanjem programa.

Skladnja:

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

Parametri:

GoTo ImeOznake: Če pride do napake, aktivira rutino za ravnanje ob napaki, ki se začne v vrstici »ImeOznake«.

Resume Next: Če pride do napake, se izvajanje programa nadaljuje z ukazom, ki sledi ukazu, v katerem je do napake prišlo.

GoTo 0: Deaktivira obdelovanje napake v trenutni proceduri.

Local: »On error« je globalen v dosegu in ostane aktiven, dokler ga ne prekliče drugi stavek »On error«. »On Local error« je krajeven v funkciji, ki ga prikliče. Krajevna obravnava napak preglasi vse prejšnje globalne nastavitve. Ko je priklicana procedura končana, je krajevna obravnava napak samodejno preklicana in vsakršna prejšnja globalna nastavitev je obnovljena.

Ukaz On Error GoTo uporabljamo za odzivanje na napake, ki se pojavijo v makru.

Primer:

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 #iStevilka, "To je vrstica z besedilom"

    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 "Vse datoteke bodo zaprte",0,"Napaka"

End Sub