Instrucción On Error GoTo… Resume

Habilita una rutina de manejo de errores después de producirse éstos o continúa la ejecución del programa.

Sintaxis:

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

Parámetros:

GoTo NombreEtiqueta: Si se produce un error, activa la rutina de manejo de errores que empieza en la línea "NombreEtiqueta".

Resume Next: Si se produce un error, la ejecución del programa continúa con la instrucción que sigue a aquélla en la que se produjo el error.

GoTo 0: Desactiva el manipulador de errores en el procedimiento actual.

Local: El ámbito de "On error" es global, y permanece activo hasta que se cancela mediante otra sentencia "On error". En cambio, el ámbito de "On Local error" es local para la rutina que lo invoca. El manejo local de errores anula cualquier configuración global previa. Cuando finaliza la rutina invocadora, se cancela automáticamente el manejo local del error, y se restaura la configuración global previa.

La instrucción On Error GoTo se utiliza para reaccionar a los errores que se producen en una macro.

Ejemplo:

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, "Este es un renglón de texto"

    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 "Todos los archivos se cerrarán",0,"Error"

End Sub