Nodo Try / Catch
El nodo Try / Catch agrega manejo de errores y lógica de reintentos a sus workflows. Captura errores de nodos anteriores y puede reintentar automáticamente la sección fallida antes de dirigir al camino de error.
Cómo funciona
Coloque el nodo Try / Catch después de una secuencia de pasos que desea proteger. Cuando el flujo llega a este nodo:
- Si todos los pasos anteriores se completaron correctamente, el flujo continúa por la salida SUCCESS.
- Si ocurrió un error, el nodo reintenta la sección fallida según su configuración de reintentos.
- Si se agotan todos los reintentos, el flujo se dirige por la salida ERROR.
Start → API Call → Process Data → [Try / Catch]
├── SUCCESS → Save Result → End
└── ERROR → Send Alert → End
Configuración
Reintentos máximos
El número máximo de intentos de reintento antes de desistir. Establezca en 0 para desactivar los reintentos y solo capturar errores.
| Valor | Comportamiento |
|---|---|
| 0 | Sin reintentos – los errores van directamente a la salida ERROR |
| 1–3 | Adecuado para fallos transitorios (timeouts de red, límites de tasa) |
| 5+ | Usar con precaución – considere el tiempo total de ejecución |
Tipo de Backoff
Controla cómo cambia el retraso entre reintentos a lo largo del tiempo.
- Fixed – Siempre el mismo retraso. Ejemplo con 2s de retraso:
2s → 2s → 2s → 2s - Exponential – El retraso se duplica con cada intento. Ejemplo con 1s de retraso:
1s → 2s → 4s → 8s
Se recomienda el backoff exponencial al llamar APIs externas, ya que da a los servicios sobrecargados progresivamente más tiempo para recuperarse.
Retraso de reintento
El tiempo de espera base entre intentos de reintento. Se combina con la unidad de retraso (milisegundos, segundos o minutos).
Para backoff exponencial, este es el retraso inicial – los retrasos posteriores se calculan como delay × 2^(attempt - 1).
Al agotar los reintentos
Qué sucede cuando todos los intentos de reintento han fallado:
- Continue to error path – Dirige el flujo por el puerto de salida ERROR. Use esto cuando quiera manejar el fallo de forma elegante (registrarlo, enviar una notificación, devolver un valor alternativo).
- Stop flow with error – Termina toda la ejecución del workflow con un estado de error. Use esto cuando el fallo es irrecuperable.
Salidas
| Puerto | Descripción |
|---|---|
| SUCCESS | El flujo continúa aquí cuando no ocurrió ningún error o un reintento fue exitoso |
| ERROR | El flujo continúa aquí cuando se agotan todos los reintentos (solo si se seleccionó "Continue to error path") |
Ejemplos
Reintentar una llamada API inestable
HTTP Request → [Try / Catch: 3 retries, 2s fixed delay]
├── SUCCESS → Parse Response
└── ERROR → Return Default Value
Backoff exponencial para APIs con límite de tasa
HTTP Request → [Try / Catch: 5 retries, 1s exponential]
├── SUCCESS → Store Data
└── ERROR → Log Error → Notify Team
Solo captura (sin reintento)
Code Node → [Try / Catch: 0 retries]
├── SUCCESS → Continue
└── ERROR → Send Error Report
Aspectos a tener en cuenta
- Los nodos anteriores al Try / Catch se volverán a ejecutar en un reintento. Si un nodo envía un correo electrónico o escribe en una base de datos, ese efecto secundario ocurrirá de nuevo. Asegúrese de que las operaciones reintentadas sean seguras de repetir (idempotentes).
- El tiempo total de ejecución se acumula. 5 reintentos con backoff exponencial de 4s significan esperar hasta
1 + 2 + 4 + 8 + 16 = 31 segundosantes de que se active el camino de error. - El número de reintentos y el último mensaje de error están disponibles como variables en nodos posteriores, para que pueda incluirlos en informes de error o registros.