DébutantNon commencé
Exercice 9.5 · 8 min · 0 tentative
Gérer les erreurs API
🎯 Objectif
Utiliser try/catch pour gérer les erreurs quand un appel API échoue.
📖 Contexte
Pourquoi gérer les erreurs ?
Les appels API peuvent échouer : serveur down, produit supprimé, réseau coupé... Sans gestion d'erreur, ton programme plante.
// ❌ Sans try/catch → le programme plante si ça échoue
const response = await fetch("https://api.exemple.com/produit/999")
const data = await response.json()
// ✅ Avec try/catch → l'erreur est gérée proprement
try {
const response = await fetch("https://api.exemple.com/produit/999")
const data = await response.json()
} catch (error) {
console.log("Oups :", error.message)
}
Attention : fetch ne lance pas d'erreur pour les 404 !
C'est un piège courant. fetch() considère qu'un 404 est une réponse valide :
const response = await fetch("https://dummyjson.com/products/9999")
console.log(response.ok) // false (pas un status 200-299)
console.log(response.status) // 404
Il faut vérifier response.ok et lancer l'erreur nous-mêmes :
if (!response.ok) {
throw new Error("Erreur " + response.status)
// → saute directement dans le catch
}
Tableau des status HTTP
| Status | response.ok | Signification |
|---|---|---|
200 | true | OK, tout va bien |
201 | true | Créé avec succès |
404 | false | Non trouvé |
500 | false | Erreur serveur |
📝 Consigne
Le code gère déjà le try/catch et la vérification de response.ok. Il te suffit de :
- Appeler
chargerProduit(9999)avecawaitpour tester la gestion d'erreur
Résultat attendu :
--- Test ID valide ---
Produit : Essence Mascara Lash Princess - 9.99 $
--- Test ID invalide ---
Erreur attrapée : Erreur 404
Observe : Le programme ne plante pas grâce au try/catch. L'erreur est capturée et affichée proprement.
Objectifs
- Appeler avec ID 9999
- Utiliser await
- Produit trouvé
- Erreur gérée
Lis bien les instructions et lance-toi !
Indices (0/3)
Indice 1 verrouillé
Indice 2 verrouillé
Indice 3 verrouillé