Try / Catch
Try / Catch
Sección titulada «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).
Cómo funciona
Sección titulada «Cómo funciona»- Ejecuta las actividades de
try. - Si todas tienen éxito, omite el
catch. - Si alguna falla, detiene el
tryen ese punto, guarda el error enerrorVariable(si la definiste) —un objetoZoanErrorcon el detalle de la excepción— y ejecuta el bloquecatch. - 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ámetros opcionales
Sección titulada «Parámetros opcionales»| Parámetro | Editor | Descripción |
|---|---|---|
errorVariable | nombre de variable | Variable 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. |
Sub-flujos (lanes)
Sección titulada «Sub-flujos (lanes)»try requerido
Sección titulada «try requerido»Actividades a intentar. Si una falla, el resto del try no se ejecuta.
catch opcional
Sección titulada «catch opcional»Actividades que se ejecutan solo si algo en el try falló.
finally opcional
Sección titulada «finally opcional»Actividades que se ejecutan siempre, haya fallado o no el try.
Ejemplo
Sección titulada «Ejemplo»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