Sisällys

# On Error GoTo ... Resume Statement

Lause tekee mahdolliseksi virheen myöhemmin tapahtuessa virheenkäsittelyrutiiniin siirtymisen tai ohjelman jatkamisen.

### Syntaksi:

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

### Parametrit:

GoTo Rivitunnus1: jos virhe tapahtuu, on mahdollista siirtyä virheenkäsittelyn aliohjelmaan, joka alkaa riviltä "Rivitunnus1".

Resume Next: jos virhe tapahtuu, ohjelman suoritusta jatketaan virheen tapahtumislausetta seuraavasta lauseesta.

GoTo 0: virheenkäsittelijä ei ole toiminnassa kyseisessä proseduurissa.

Local: "On error" on kattavuudeltaan globaali ja säilyy aktiivisena, kunnes se korvautuu toisella "On error" -lauseella. "On Local error" on kutsuvaan rutiiniin rajoittuva. Lokaali virheenkäsittely saa etusijan aiempiin globaaleihin asetuksiin nähden. Kun kutsuneesta rutiinista poistutaan, lokaali virheenkäsittely lakkaa automaattisesti ja aiempin globaali asetus palautetaan, jos sellainen esiintyy.

On Error GoTo -lausetta käytetään vastamaan makrossa tapahtuneisiin virheisiin.

### Esimerkki:

    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, "Tämä on tekstirivi."
        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

Aiheeseen liittyvää

Error-Handling Functions

Open Statement