Skip to main content
L’SDK espone due classi di errore: YoukaRequestError per errori HTTP e di validazione, e YoukaTaskError per task asincroni terminati in uno stato non riuscito. Entrambe estendono Error e includono campi strutturati così puoi diramare la logica in base a codice, stato e possibilità di retry.

YoukaRequestError

Generato per errori HTTP, errori di validazione della richiesta e risposte malformate.

Campi

string
Codice di errore leggibile dalla macchina, ad esempio INVALID_REQUEST, UNAUTHORIZED, UPLOAD_FAILED.
string
Descrizione leggibile dall’uomo.
number
Codice di stato HTTP, se disponibile.
boolean
true se l’SDK considera l’errore meritevole di un retry (rate limit, errori transitori del server, rigioco idempotente in corso).
unknown
Dettagli forniti dal server, tipicamente un elenco di issue Zod per errori di validazione.

Codici comuni

YoukaTaskError

Generato da client.tasks.wait(...), client.projects.wait(...) e client.exports.wait(...) quando il task o l’export sottostante termina in failed, cancelled o timed-out.

Campi

'TASK_FAILED' | 'TASK_CANCELLED' | 'TASK_TIMED_OUT'
Corrisponde direttamente allo stato finale del task.
string
Il messaggio di errore del task fornito dal server oppure un fallback generato.
TaskStatus
Lo stato finale del task.
RestTask
Il payload completo del task al momento del fallimento. Utile per logging e messaggi di errore rivolti all’utente.

Pattern di retry

Combina retryable con una chiave di idempotenza per costruire un ciclo di retry sicuro:
Riutilizza sempre la stessa chiave di idempotenza tra i retry. Altrimenti il server tratta il retry come una nuova richiesta e potresti finire con duplicati.

Interruzione e cancellazione

L’interruzione di una richiesta genera un AbortError standard — non un YoukaRequestError. Verificalo esplicitamente:

Cosa fare dopo

  • Tasks — helper di attesa e polling avanzato dei task
  • Authentication — opzioni del costruttore e signal
  • API errors — gli stessi codici in HTTP raw