Todos los productos
Search
Centro de documentos

CloudFlow:Estado Fail

Última actualización: Sep 05, 2026

El estado Fail finaliza un flujo de trabajo con un error personalizado, de forma similar a raise en Python o throw en Java. Cuando un flujo de trabajo alcanza un estado Fail, todos los estados del ámbito actual dejan de ejecutarse y el flujo termina.

En una definición de flujo de trabajo típica, cada estado pasa al siguiente tras completarse. Un estado Fail rompe este patrón, ya que no se ejecuta ningún estado posterior.

Nota

A diferencia de un estado

Succeed

, que espera a que el ámbito actual se complete antes de finalizar el flujo de trabajo, un estado

Fail

termina el flujo con un error.

Atributos

Atributo

Tipo

Obligatorio

Descripción

Ejemplo

Name

string

Sí

Nombre del estado.

my state

Description

string

No

Descripción del estado.

describe it here

Type

string

Sí

Debe ser Fail.

Fail

InputConstructor

map[string]any

No

Constructor de entrada. Consulte InputConstructor.

--

OutputConstructor

map[string]any

No

Constructor de salida. Consulte OutputConstructor.

--

Code

string

No

Código de error para identificación mediante programación. Use Code para categorizar los fallos con fines de diagnóstico o manejo de errores.

customBizCode

Detail

string

Sí

Descripción del error legible por humanos.

my custom error

Cada estado Fail requiere un valor Detail que describa el error. El campo Code es opcional, pero se recomienda su uso, ya que proporciona un identificador legible por máquina que facilita el diagnóstico de fallos.

Nota

Consejo:

Evite exponer detalles internos del sistema o información confidencial en los valores de

Code

o

Detail

, dado que estos valores podrían ser visibles en las salidas de error.

Relación con el estado Pass

Un estado Fail se comporta como un estado Pass con End: true, salvo que también devuelve un error. Ambos finalizan el flujo de trabajo en el punto actual, pero un estado Fail además devuelve un error especificado por Code y Detail.

Ejemplos

Finalizar un flujo de trabajo según una condición

Este flujo de trabajo utiliza un estado Choice para evaluar una condición de entrada. Si $Input.status es igual a "true", el flujo continúa hacia Pass1 y se completa de manera normal. En caso contrario, el flujo pasa a la rama predeterminada y termina con un estado Fail.

Type: StateMachine
Name: my-workflow
SpecVersion: v1
Description: " "
StartAt: Choice1
States:
  - Type: Choice
    Name: Choice1
    Branches:
      - Condition: $Input.status == "true"
        Next: Pass1
    Default: Fail1
  - Type: Fail
    Name: Fail1
    Code: "customBizCode"
    End: true
  - Type: Pass
    Name: Pass1
    End: true

Cuando Choice1 evalúa la condición y ninguna rama coincide, el flujo pasa a Fail1. Todo el flujo de trabajo finaliza con el código de error customBizCode.

Devolver un error estático

En su forma más simple, un estado Fail necesita un valor Detail y, de manera opcional, un valor Code:

- Type: Fail
  Name: ValidationError
  Code: "INVALID_INPUT"
  Detail: "Required field 'orderId' is missing"
  End: true

Usar códigos de error descriptivos

Elija códigos de error que identifiquen claramente la categoría del fallo:

# Payment processing failure
- Type: Fail
  Name: PaymentFailed
  Code: "PAYMENT_DECLINED"
  Detail: "Payment gateway returned a decline response"
  End: true

# Resource not found
- Type: Fail
  Name: NotFound
  Code: "RESOURCE_NOT_FOUND"
  Detail: "The specified order does not exist"
  End: true