On Error GoTo ... Resume Statement

Lubab veahalduse alamprotseduuri käivitamise pärast vea ilmnemist või jätkab programmi täitmist.

Süntaks:

On Error Statement diagram


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

Parameetrid:

GoTo Labelname: lubab vea ilmnemisel veahalduse alamprotseduuri, mis käivitatakse real "Labelname".

Resume Next: vea korral jätkatakse programmi käitamist lausega, mis järgneb lausele, kus viga ilmnes.

GoTo 0: keelab veahalduse aktiivses protseduuris.

Local: "On error" on ulatuselt globaalne ja jääb aktiivseks kuni järgmine lause "On error" selle tühistab. "On Local error" on kohalik ja seotud alamprotseduurist, mis selle käivitab. Kohalik veahaldus alistab kõik varasemad globaalsed sätted. Käivitatud alamprotseduuri sulgumisel tühistatakse kohalik veahaldus automaatselt ja varasemad globaalsed sätted taastatakse.

Lauset On Error GoTo kasutatakse makrodes esinevatele vigadele reageerimiseks.

Näide:


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, "See on rida teksti"
    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

Palun toeta meid!