Skip to main content
Das SDK stellt zwei Fehlerklassen bereit: YoukaRequestError für HTTP- und Validierungsfehler sowie YoukaTaskError für asynchrone Tasks, die in einem nicht erfolgreichen Zustand enden. Beide erweitern Error und enthalten strukturierte Felder, sodass du anhand von Code, Status und Wiederholbarkeit verzweigen kannst.

YoukaRequestError

Wird bei HTTP-Fehlern, Fehlern der Request-Validierung und fehlerhaften Responses ausgelöst.

Felder

string
Maschinenlesbarer Fehlercode, zum Beispiel INVALID_REQUEST, UNAUTHORIZED, UPLOAD_FAILED.
string
Menschenlesbare Beschreibung.
number
HTTP-Statuscode, sofern verfügbar.
boolean
true, wenn das SDK den Fehler als einen erneuten Versuch wert erachtet (Rate Limits, vorübergehende Serverfehler, idempotente Wiederholung läuft).
unknown
Vom Server bereitgestellte Details, typischerweise eine Zod-Issue-Liste bei Validierungsfehlern.

Häufige Codes

YoukaTaskError

Wird von client.tasks.wait(...), client.projects.wait(...) und client.exports.wait(...) ausgelöst, wenn der zugrunde liegende Task oder Export in failed, cancelled oder timed-out endet.

Felder

'TASK_FAILED' | 'TASK_CANCELLED' | 'TASK_TIMED_OUT'
Entspricht direkt dem terminalen Status des Tasks.
string
Entweder die vom Server bereitgestellte Task-Fehlermeldung oder ein generierter Fallback.
TaskStatus
Der terminale Task-Status.
RestTask
Das vollständige Task-Payload zum Zeitpunkt des Fehlers. Nützlich für Logging und nutzerseitige Fehlermeldungen.

Retry-Muster

Kombiniere retryable mit einem Idempotency-Key, um eine sichere Retry-Schleife zu bauen:
Verwende über alle Retry-Versuche hinweg immer denselben Idempotency-Key. Andernfalls behandelt der Server den Retry als neue Anfrage und du kannst am Ende Duplikate erhalten.

Abbruch und Cancellation

Beim Abbrechen einer Anfrage wird ein standardmäßiger AbortError ausgelöst — kein YoukaRequestError. Prüfe ihn explizit:

Was kommt als Nächstes

  • Tasks — Wait-Helper und erweitertes Task-Polling
  • Authentication — Konstruktoroptionen und Signale
  • API errors — dieselben Codes in rohem HTTP