Controlar Errores con On Error Resume Next

On Error Resume Next es una declaración VBA básica para Excel que le permite ignorar errores de forma controlada. A diferencia de On Error Goto, que redirige a una etiqueta de error específica, On Error Resume Next simplemente continúa con la siguiente línea de código cuando ocurre un error. Esto permite manejar los errores con mayor facilidad y evita que interrumpan el flujo normal del programa.

¿Como funciona?

Error Resume Next, Si ocurre un error en este bloque, el código se detendrá y luego continuará con la siguiente línea como si nada hubiera pasado. Esto le permite omitir errores pequeños o temporales que no afectan la funcionalidad general del programa.

On Error Resume Next ' Activa el modo de ignorar errores
' Bloque de código donde se pueden producir errores
' ...
' La ejecución continúa con la siguiente línea
End Sub

¿Para qué se usa esto?

En caso de error, reanudar a continuación se utiliza principalmente:

  • Es probable que se produzcan ciertos errores en determinadas condiciones, puede utilizar esta declaración para evitar que esos errores interrumpan el flujo de su código.
  • Si un error inesperado no es crítico para el funcionamiento de su programa, puede ignorarlo y continuar ejecutándolo como de costumbre.
  • Puede implementar un mecanismo de reintento para intentar una operación varias veces antes de considerarla como un error.

Ejemplo:

Imagine que tiene un proceso que intenta leer datos de una base de datos. Ignorará los errores que se produzcan si la conexión a la base de datos falla temporalmente.

On Error Resume Next ' Activa el modo de ignorar errores

' Intenta conectarse a la base de datos
Set conexionBD = CreateObject("ADODB.Connection")
conexionBD.ConnectionString = "Provider=SQLOLEDB;Data Source=MiServidor;Initial Catalog=MiBaseDatos"
conexionBD.Open

If conexionBD.State <> 1 Then ' Verifica si la conexión es exitosa
    ' Si falla la conexión, ignora el error y continúa
    ' Puedes implementar un mecanismo de reintentos aquí
    Exit Sub
End If

' Ejecuta la consulta a la base de datos
' ...

' Cierra la conexión a la base de datos
conexionBD.Close

Exit Sub

En este ejemplo, si falla la conexión a la base de datos, el código ignora el error y continúa en la siguiente línea. Puede implementar un mecanismo de reintento en el bloque If para reintentar la conexión antes de que se considere que la operación ha fallado.

Controlador de errores

Related Articles

Responses

Tu dirección de correo electrónico no será publicada. Los campos obligatorios están marcados con *