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
Código de error legible por máquina, por ejemplo
INVALID_REQUEST, UNAUTHORIZED,
UPLOAD_FAILED.Descripción legible por humanos.
Código de estado HTTP, si está disponible.
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).Detalles proporcionados por el servidor, normalmente una lista de incidencias de Zod para errores de validación.
Códigos comunes
| Código | Causa | ¿Reintentable? |
|---|---|---|
INVALID_REQUEST | El cuerpo de la solicitud no pasó la validación del esquema antes de enviarse. | No |
UNAUTHORIZED | Falta la clave de API o no es válida. | No |
NOT_FOUND | El recurso no existe o no tienes acceso. | No |
CONFLICT | Conflicto de versión (HTTP 409). | Sí |
TOO_MANY_REQUESTS | Se alcanzó el límite de tasa (HTTP 429). | Sí |
INTERNAL_SERVER_ERROR | Fallo transitorio del servidor (HTTP 500). | Sí |
IDEMPOTENT_REPLAY_IN_PROGRESS | La solicitud original sigue en ejecución con la misma clave de idempotencia (HTTP 202). | Sí |
INVALID_RESPONSE | El servidor devolvió un cuerpo que no coincidía con el esquema esperado. | No |
UPLOAD_FAILED | La subida a la URL firmada devolvió un estado no 2xx. | Depende del estado |
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
Se corresponde directamente con el estado terminal de la tarea.
O bien el mensaje de error de la tarea proporcionado por el servidor, o un fallback generado.
El estado terminal de la tarea.
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
Combinaretryable con una clave de idempotencia para construir un bucle de reintento seguro:
Interrupción y cancelación
Interrumpir una solicitud lanza unAbortError 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
