Gérer les erreurs
Les erreurs du SDK, leurs codes et comment réagir à chacune.
Toutes les erreurs héritent de SdkError et portent un code stable que vous pouvez tester. Elles sont renvoyées dans result.error, jamais levées.
| Classe | Quand | Que faire |
|---|---|---|
NotFoundError | l'identifiant demandé n'existe pas | vérifier l'identifiant |
InvalidQueryError | un filtre est invalide (par exemple q trop court) | corriger la requête |
RateLimitedError | trop de requêtes | attendre, puis réessayer plus lentement |
UnavailableError | le service est momentanément indisponible | réessayer plus tard |
ApiError | autre réponse en erreur du serveur | consulter code et message |
SchemaValidationError | la réponse ne respecte pas le contrat attendu | signaler le problème |
NetworkError | pas de réponse du réseau | vérifier la connexion |
TimeoutError | aucune réponse dans le délai (timeoutMs) | réessayer, ou allonger le délai |
AbortError | l'appel a été annulé par votre AbortSignal | normal si vous avez annulé |
Exemple
import { NotFoundError, RateLimitedError } from "@carrier/sdk"
const result = await talentsalve.offers.get(id)
if (!result.ok) {
if (result.error instanceof NotFoundError) return null
if (result.error instanceof RateLimitedError) throw new Error("Ralentissez les appels")
throw result.error
}
return result.valueLe SDK valide les réponses du serveur par rapport à leur schéma. Si le contrat change sans que le SDK soit mis à jour, vous obtenez une SchemaValidationError explicite plutôt que des données incorrectes.