Příkaz On Error GoTo ... Resume

Aktivuje rutinu pro zpracování chyb nebo obnoví spuštění programu, jakmile dojde k chybě.

Syntaxe:

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

Parametry:

GoTo Labelname: Pokud nastane chyba, spustí podprogram pro zpracování chyb, který začíná na řádku "Labelname".

Resume Next: Pokud nastane chyba, pokračuje vykonání programu dalším příkazem, který následuje za příkazem, u něhož nastala chyba.

GoTo 0: Vypne zpracování chyb v aktuální proceduře.

Local: "On error" je globálního rozsahu a zůstává aktivní, dokud není zrušena novým příkazem "On error". "On Local error" je místní k funkci, která příkaz spustila. Lokální zpracování chyb přebíjí dřívější nastavení. Pokud skončí vyvolávací funkce, automaticky se zruší lokální správa chyb a obnoví případné předchozí globální nastavení.

Výrok On Error Go To se používá k reakci na chyby, které se objeví v makru.

Příklad:

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, "Toto je řádek textu"

    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 "Všechny soubory budou zavřeny",0,"Error"

End Sub