Skip to main content
El SDK expone dos clases de error: YoukaRequestError para fallos HTTP y de validación, y YoukaTaskError para tareas asíncronas que terminaron en un estado no exitoso. Ambas extienden Error e incluyen campos estructurados para que puedas ramificar según el código, el estado y si es reintentable.

YoukaRequestError

Se lanza para errores HTTP, fallos de validación de la solicitud y respuestas malformadas.

Campos

string
Código de error legible por máquina, por ejemplo INVALID_REQUEST, UNAUTHORIZED, UPLOAD_FAILED.
string
Descripción legible por humanos.
number
Código de estado HTTP, si está disponible.
boolean
true si el SDK considera que merece la pena reintentar el error (límites de tasa, errores transitorios del servidor, repetición idempotente en curso).
unknown
Detalles proporcionados por el servidor, normalmente una lista de incidencias de Zod para errores de validación.

Códigos comunes

YoukaTaskError

Se lanza desde client.tasks.wait(...), client.projects.wait(...) y client.exports.wait(...) cuando la tarea o exportación subyacente termina en failed, cancelled o timed-out.

Campos

'TASK_FAILED' | 'TASK_CANCELLED' | 'TASK_TIMED_OUT'
Se corresponde directamente con el estado terminal de la tarea.
string
O bien el mensaje de error de la tarea proporcionado por el servidor, o un fallback generado.
TaskStatus
El estado terminal de la tarea.
RestTask
La carga útil completa de la tarea en el momento del fallo. Útil para logs y mensajes de error orientados al usuario.

Patrón de reintento

Combina retryable con una clave de idempotencia para construir un bucle de reintento seguro:
Reutiliza siempre la misma clave de idempotencia en los reintentos. De lo contrario, el servidor trata el reintento como una nueva solicitud y puedes acabar con duplicados.

Interrupción y cancelación

Interrumpir una solicitud lanza un AbortError estándar — no un YoukaRequestError. Compruébalo explícitamente:

Qué sigue

  • Tasks — helpers de espera y sondeo avanzado de tareas
  • Authentication — opciones del constructor y señales
  • API errors — los mismos códigos en HTTP en bruto