On Error GoTo ... Resume Deyimi

Hata oluştuktan sonra bir hata-işleme yordamını etkinleştirir veya programın yürütülmesini devam ettirir.

Sözdizimi:

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

Parametreler:

GoTo Labelname: Hata oluşursa, hata düzeltme yordamınının "Labelname" ile başlayan satırını etkinleştirir.

Resume Next: Eğer bir hata oluşursa, program yürütme oluşan hatanın içindeki açıklamayı takip eden açıklamayla devam eder.

GoTo 0: Mevcut yordamda hata işleyicisini devre dışı bırakır.

Local: "On error" kapsama alanı içinde globaldir ve bir başka "On error" ifadesi tarafından iptal edilene kadar aktif olara kalır. "On Local error" onu çağıran yordam içinde yereldir. Yerel hata yönetimi önceki bütün global ayarları geçersiz kılar. Çağırılan bir yordam olduğunda, yerel hata yönetimi otomatik olarak iptal edilir ve önceki global ayar geri yüklenir.

On Error GoTo deyimi makrolarda oluşacak hatalara tepki için kullanılır.

Örnek:

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, "Bu metnin bir satırıdır"

    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 "Tüm dosyalar kapatılacaktır",0,"Hata"

End Sub