DOMINA-BACH Básico study materials
DOMINA-BACH Básico study resources

DOMINA-BACH Básico: Manejo de errores y depuración

DOMINA-BACH Básico · Work through your exam, one topic at a time.

All guide sections

Manejo de errores y depuración

El dominio Manejo de errores y depuración evalúa si prevés fallos en ejecución y si sabes localizarlos con las herramientas del editor, en lugar de recurrir a On Error Resume Next de forma indiscriminada.

Sentencias de error

On Error GoTo etiqueta redirige el flujo al manejador; On Error GoTo 0 lo desactiva. Resume reintenta la instrucción que falló, Resume Next continúa en la siguiente y Resume etiqueta salta a otra línea. Err.Number y Err.Description describen el fallo y Err.Clear lo borra.

Ejemplo razonado

On Error GoTo Fallo
...
Salir:
    Exit Sub
Fallo:
    MsgBox "Error " & Err.Number & ": " & Err.Description
    Resume Salir
End Sub

La etiqueta Salir con Exit Sub impide que el flujo normal caiga en el manejador cuando no hay error; sin ella, el bloque de error se ejecutaría siempre. Resume Salir cierra el error de forma controlada en vez de reintentar la instrucción conflictiva.

Números de error frecuentes

9 subíndice fuera de rango; 13 tipos incompatibles; 91 variable de objeto no establecida (falta Set); 1004 error definido por la aplicación; 6 desbordamiento; 424 objeto requerido.

Herramientas

F8 ejecuta línea a línea, F10 paso a paso por encima, F9 pone o quita un punto de interrupción y Ctrl+G abre la ventana Inmediato, donde Debug.Print y ? variable muestran valores. Debug.Assert condición detiene la ejecución cuando la condición es falsa y la ventana Variables locales inspecciona el ámbito actual.

Errores que cuestan puntos

Dejar On Error Resume Next activo tras la línea conflictiva y ocultar fallos posteriores; no poner Exit Sub antes del manejador; usar Resume sin corregir la causa; y confundir un error de compilación (sintaxis) con uno en tiempo de ejecución.