Module
Contents
Index 🔎︎

# On Error GoTo ... Resume Statement

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

## Syntaksi:

    On {[Local] Error GoTo rivitunnus1 | 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:\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 "Kaikki tiedostot suljetaan",0,"Virhe"

    End Sub