Skip to main content
Le SDK expose deux classes d’erreurs : YoukaRequestError pour les erreurs HTTP et de validation, et YoukaTaskError pour les tâches asynchrones qui se terminent dans un état non réussi. Les deux étendent Error et embarquent des champs structurés afin que vous puissiez brancher sur le code, le statut et la possibilité de retenter.

YoukaRequestError

Levée pour les erreurs HTTP, les échecs de validation de requête et les réponses malformées.

Champs

string
Code d’erreur lisible par machine, par exemple INVALID_REQUEST, UNAUTHORIZED, UPLOAD_FAILED.
string
Description lisible par l’humain.
number
Code de statut HTTP, si disponible.
boolean
true si le SDK considère que l’erreur mérite d’être retentée (limites de débit, erreurs serveur transitoires, relecture idempotente en cours).
unknown
Détails fournis par le serveur, généralement une liste d’issues Zod pour les erreurs de validation.

Codes courants

YoukaTaskError

Levée depuis client.tasks.wait(...), client.projects.wait(...) et client.exports.wait(...) lorsque la tâche ou l’export sous-jacent se termine en failed, cancelled ou timed-out.

Champs

'TASK_FAILED' | 'TASK_CANCELLED' | 'TASK_TIMED_OUT'
Correspond directement au statut terminal de la tâche.
string
Soit le message d’erreur de la tâche fourni par le serveur, soit un message de repli généré.
TaskStatus
Le statut terminal de la tâche.
RestTask
La charge utile complète de la tâche au moment de l’échec. Utile pour la journalisation et les messages d’erreur destinés à l’utilisateur.

Modèle de retry

Combinez retryable avec une clé d’idempotence pour construire une boucle de retry sûre :
Réutilisez toujours la même clé d’idempotence lors des retries. Sinon le serveur traite le retry comme une nouvelle requête et vous risquez d’obtenir des doublons.

Abandon et annulation

L’abandon d’une requête lève un AbortError standard — pas un YoukaRequestError. Vérifiez-le explicitement :

Et ensuite