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 ausgelöst bei HTTP-Fehlern, Fehlern in der Request-Validierung und fehlerhaften Responses.
Felder
Maschinenlesbarer Fehlercode, zum Beispiel
INVALID_REQUEST, UNAUTHORIZED,
UPLOAD_FAILED.Menschenlesbare Beschreibung.
HTTP-Statuscode, falls verfügbar.
true, wenn das SDK den Fehler als wiederholenswert einstuft (Rate Limits, vorübergehende
Serverfehler, idempotente Wiederholung läuft gerade).Vom Server gelieferte Details, typischerweise eine Zod-Issue-Liste bei Validierungsfehlern.
Häufige Codes
| Code | Ursache | Wiederholbar? |
|---|---|---|
INVALID_REQUEST | Request-Body hat die Schema-Validierung vor dem Senden nicht bestanden. | No |
UNAUTHORIZED | Fehlender oder ungültiger API-Key. | No |
NOT_FOUND | Ressource existiert nicht oder du hast keinen Zugriff. | No |
CONFLICT | Versionskonflikt (HTTP 409). | Yes |
TOO_MANY_REQUESTS | Rate Limit erreicht (HTTP 429). | Yes |
INTERNAL_SERVER_ERROR | Vorübergehender Serverfehler (HTTP 500). | Yes |
IDEMPOTENT_REPLAY_IN_PROGRESS | Die ursprüngliche Anfrage läuft unter demselben Idempotency-Key noch (HTTP 202). | Yes |
INVALID_RESPONSE | Server hat einen Body zurückgegeben, der nicht zum erwarteten Schema passte. | No |
UPLOAD_FAILED | Upload über Signed URL hat einen Non-2xx-Status zurückgegeben. | Depends on status |
YoukaTaskError
Wird aus 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
Entspricht direkt dem terminalen Status des Tasks.
Entweder die vom Server bereitgestellte Task-Fehlermeldung oder ein generierter Fallback.
Der finale Task-Status.
Die vollständige Task-Payload zum Zeitpunkt des Fehlschlags. Nützlich für Logging und
nutzerseitige Fehlermeldungen.
Retry-Muster
Kombiniereretryable mit einem Idempotency-Key, um eine sichere Retry-Schleife zu bauen:
Abbruch und Canceln
Das Abbrechen einer Anfrage wirft ein normalesAbortError — kein YoukaRequestError. Prüfe explizit darauf:
Wie geht’s weiter
- Tasks — Wait-Helper und erweitertes Task-Polling
- Authentication — Konstruktor-Optionen und Signals
- API errors — dieselben Codes in rohem HTTP
