Buscador

On Error Goto Etiqueta

Activa una etiqueta de control de errores, que consiste en un bloque de código, al que se desviará el flujo del programa cuando se produzca un error. El Código fuente 363 muestra un ejemplo.

Public Sub Main()
On Error Goto ControlErrores
Dim dtFecha As Date
dtFecha = "valor incorrecto"
Exit Sub
' ------------
' etiqueta de control de errores
ControlErrores:
Console.WriteLine("Error: {0} - {1}", Err.Number, Err.Description)
Console.ReadLine()
End Sub
Código fuente 363

Si queremos reintentar la ejecución de la línea que produjo el error, debemos utilizar en la etiqueta de control de errores la instrucción Resume, como muestra el Código fuente 364.

Public Sub Main()
On Error Goto ControlErrores
Dim dtFecha As Date
Console.WriteLine("Introducir una fecha")
dtFecha = Console.ReadLine()
Console.WriteLine("Esta línea se ejecuta después del error")
Console.ReadLine()
Exit Sub
' ------------
' etiqueta de control de errores
ControlErrores:
Console.WriteLine("Error: {0} - {1}", Err.Number, Err.Description)
Console.ReadLine()
Resume
End Sub
Código fuente 364

De esta forma, en el ejemplo anterior, damos una nueva oportunidad al usuario, en el caso de que haya introducido una fecha incorrecta. Si no queremos volver a reintentar la línea del error, usaremos la instrucción Resume Next, que después de ejecutar la etiqueta de control de errores, seguirá la ejecución en la siguiente línea a la que provocó el error. También podemos utilizar el formato Resume Etiqueta, en donde Etiqueta representa a otra etiqueta de control, a la que saltará el código después de finalizar la ejecución de la actual.

No hay comentarios:

Publicar un comentario