Leçon 9 : Gestion des erreurs avec grâce
La façon dont votre logiciel échoue dicte le vibe ressenti à la fois par l'utilisateur et par le développeur qui débogue le problème. Un mauvais vibe dans la gestion des erreurs signifie des échecs silencieux, des messages vagues ou le plantage de l'application entière.
Le Vibe des exceptions
Les exceptions (erreurs/panics) sont des mécanismes de contrôle de flux. Elles doivent être utilisées pour signaler des conditions inattendues ou irrécupérables, et non pour la logique métier standard.
Principe 1 : Échouer tôt, échouer bruyamment (Fail Early, Fail Loudly)
Si vous détectez une condition qui empêche une exécution correcte (ex : un paramètre nul alors qu'il est requis), lancez immédiatement une erreur informative. Ne laissez pas les données corrompues se propager profondément dans le système.
java // Mauvais Vibe : Laisse la valeur Null causer des problèmes plus tard public User getUser(String userId) { // ... retourne null s'il n'est pas trouvé return db.fetch(userId); }
// Bon Vibe : Gère explicitement l'état d'échec à la frontière public User findUser(String userId) { if (userId == null || userId.isEmpty()) { throw new IllegalArgumentException("L'ID utilisateur ne peut pas être vide."); } // ... }
Principe 2 : Messages d'erreur informatifs
Les messages d'erreur sont une documentation sur l'échec. Ils doivent fournir suffisamment de contexte pour que le développeur comprenne :
- Ce qui s'est passé.
- Où cela s'est passé (fichier/fonction).
- Pourquoi cela s'est passé (si possible).
Gérer les erreurs à la frontière
Capturez les erreurs au niveau de la couche limite (ex : le gestionnaire d'API ou l'UI) et transformez l'erreur technique brute en un message poli et convivial (pour l'UX) ou en une entrée de log structurée (pour la DX).
- Vibe Utilisateur : « Le paiement a échoué en raison de coordonnées de carte invalides. » (Amical)
- Vibe Développeur (Log) : « L'API Stripe a renvoyé 402 (Fonds insuffisants). Request ID: req_abc123 »