Ir al contenido

Try / Catch

Tipo: try-catch  ·  Paquete: Core Activities v1.0.0

Ejecuta un bloque de actividades y, si alguna falla, en vez de detener toda la ejecución, salta a un bloque alternativo donde puedes reaccionar: registrar el error, notificar, o seguir un plan B. Es la herramienta clave para que tu automatización sea robusta ante los problemas que sabes que pueden ocurrir (una página que no carga, un archivo que no existe, un sistema que a veces falla).

Tiene tres bloques: try (lo que intentas), catch (qué hacer si falla) y finally (lo que se ejecuta siempre, pase lo que pase).

  1. Ejecuta las actividades de try.
  2. Si todas tienen éxito, omite el catch.
  3. Si alguna falla, detiene el try en ese punto, guarda el error en errorVariable (si la definiste) —un objeto ZoanError con el detalle de la excepción— y ejecuta el bloque catch.
  4. Al final, siempre ejecuta finally —tanto si hubo error como si no— ideal para liberar recursos (cerrar un navegador, una conexión).

Tras el catch, la ejecución continúa normalmente con lo que venga después del Try/Catch: el error quedó “atrapado”.

ParámetroEditorDescripción
errorVariablenombre de variableVariable de tipo ZoanError con el error capturado. En el catch accede a sus propiedades: .Message (el mensaje), .Type (el tipo de excepción, p. ej. "HttpRequestException"), .Source y .StackTrace.

Actividades a intentar. Si una falla, el resto del try no se ejecuta.

Actividades que se ejecutan solo si algo en el try falló.

Actividades que se ejecutan siempre, haya fallado o no el try.

Intentar leer un Excel; si falla, registrar el error y seguir; y cerrar el libro pase lo que pase:

Try / Catch errorVariable = error
├─ try:
│ Excel Open path = = asset("datos.xlsx") output = libro
│ Excel Read Range excel = = libro range = "A1:D100" output = tabla
├─ catch:
│ Log level = error message = = "No se pudo leer el Excel (" + error.Type + "): " + error.Message
│ Set Variable name = tabla value = = newDataTable() // valor por defecto
└─ finally:
Excel Close excel = = libro
  • Retry — reintentar automáticamente un bloque que falla.
  • Throw — lanzar un error a propósito (que un Try/Catch externo puede capturar).
  • Log — registrar el error capturado en el catch.