Expressió On Error GoTo … Resume

Habilita una rutina de gestió d'errors després que es produeixi un error, o continua l'execució del programa.

Sintaxi:

En el diagrama d'extractes d'error


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

Paràmetres:

GoTo Labelname: Si es produeix un error, habilita la rutina de gestió d'error que s'inicia a la línia "Labelname".

Resume Next: Si es produeix un error, l'execució del programa continua amb l'expressió que segueix l'expressió en què s'ha produït l'error.

GoTo 0: Inhabilita el gestor d'errors al procediment actual.

Local: "On Error" té un àmbit global i roman actiu fins que una altra expressió "On Error" el cancel·li. "On Local Error" és local a la rutina que l'invoca. La gestió d'errors locals sobreescriu tots els paràmetres globals definits anteriorment. Quan la rutina que l'invoca surt, la gestió d'errors locals es cancel·la automàticament i es restauren tots els paràmetres globals anteriors.

L'expressió On Error GoTo s'utilitza per reaccionar als errors que es produeixen en una macro.

Exemple:


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, "Això és una línia de text"
    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 "Es tancaran tots els fitxers",  0,  "Error"
End Sub

Ens cal la vostra ajuda!