P
💻DeveloppementIntermediaireClaude

Implémenter une gestion des erreurs robuste en Node.js

Créez une architecture de gestion des erreurs Node.js professionnelle avec classes d'erreurs custom, middleware centralisé et monitoring.

Coller dans votre IA

Collez ce prompt dans ChatGPT, Claude ou Gemini et personnalisez les variables entre crochets.

Tu es un expert Node.js spécialisé dans la création d'applications robustes et résilientes. Je dois implémenter une gestion des erreurs professionnelle dans mon application.

Contexte de l'application :

  • Framework : [EX: Express 4, Fastify, Koa, NestJS]
  • Type d'application : [EX: API REST, application web fullstack, microservice]
  • Sources d'erreurs : [EX: base de données PostgreSQL, APIs tierces Stripe/Sendgrid, système de fichiers]
  • Logging actuel : [EX: console.log, Winston, Pino]
  • Monitoring : [EX: Sentry, Datadog, aucun]

Problèmes actuels :
[DÉCRIRE_LES_PROBLÈMES: ex. erreurs non capturées qui crashent l'app, pas de distinction erreur métier/technique, logs insuffisants]

Implémente une stratégie de gestion des erreurs complète :

  1. Hiérarchie de classes d'erreurs : crée une classe AppError de base et des classes spécialisées (ValidationError, NotFoundError, UnauthorizedError, DatabaseError, ExternalServiceError) avec codes d'erreur standardisés.
  2. Middleware de gestion des erreurs : middleware Express centralisé qui normalise toutes les erreurs, formate les réponses JSON et gère différemment les erreurs opérationnelles et les bugs.
  3. Capture des erreurs non gérées : gestion des process.on('uncaughtException') et process.on('unhandledRejection') avec graceful shutdown.
  4. Logging structuré : format JSON avec correlation ID, stack trace en développement uniquement, séparation des niveaux de log.
  5. Intégration monitoring : configuration Sentry ou équivalent avec contexte utilisateur et release tracking.
  6. Tests : tests unitaires pour la hiérarchie d'erreurs et le middleware.
Utile à 100%

Personnaliser ce prompt avec Léa

Léa réécrit ce prompt pour ton métier et ton objectif précis — 3 questions suffisent.

Pourquoi ce prompt fonctionne

<p>Ce prompt distingue intelligemment les erreurs opérationnelles (prévisibles, gérables : utilisateur non trouvé, validation échouée) des erreurs de programmation (bugs imprévus : undefined is not a function). Cette distinction est fondamentale pour décider de la stratégie de recovery : retry pour les premières, alert et redémarrage pour les secondes.</p><p>La création d'une hiérarchie de classes d'erreurs avec des codes standardisés est une pratique de développement professionnel qui permet aux clients de l'API de gérer les erreurs de manière programmatique plutôt que de parser des messages texte. C'est la base d'une API robuste.</p><p>L'inclusion de la gestion des uncaughtException et unhandledRejection avec graceful shutdown est souvent omise par les développeurs Node.js juniors, mais elle est critique en production pour éviter les états corrompus et garantir que les requêtes en cours se terminent proprement.</p>

Cas d'usage

Amélioration de la robustesse d'APIs Node.jsMise en place de monitoring des erreursStandardisation de la gestion des erreurs en équipe

Résultat attendu

Hiérarchie de classes d'erreurs, middleware Express, gestion des erreurs non capturées, configuration de logging et intégration monitoring.

Améliorez ce prompt

Passez ce prompt dans l'Optimiseur pour renforcer le contexte, les contraintes et le format attendu.

Améliore ce prompt avec l'Optimiseur

Commentaires

  • LéaIA

    Ajoutez un champ `statusCode` à vos classes d'erreurs pour les mapper directement au middleware HTTP. Pour éviter les `unhandledRejection`, utilisez un pattern `Result` (soit `Ok`, soit `Err`) dans les appels aux services externes : cela rend les erreurs explicites et permet un retour structuré vers le middleware centralisé.

📬 Recevez de nouveaux prompts chaque semaine

Rejoignez notre newsletter et ne manquez aucun prompt.

Pour aller plus loin

Prompts similaires

💻DeveloppementAvanceChatGPT

Maîtriser les types avancés TypeScript

Renforcez la sécurité de type de votre code TypeScript avec des types génériques avancés, utility types et discriminated unions.

39556
💻DeveloppementIntermediaireAll AIs

Gestion des feature flags

Déploiements progressifs avec feature flags

0213
💻DeveloppementIntermediaireAll AIs

Prompt Midjourney pour créer un chatbot

Midjourney est devenu un outil incontournable pour concevoir l'identité visuelle d'un chatbot. Que vous développiez un assistant virtuel pour le service client, un bot conversationnel pour votre site e-commerce ou un compagnon IA pour une application mobile, l'apparence de votre chatbot joue un rôle crucial dans l'engagement utilisateur. Un avatar bien conçu inspire confiance, humanise l'interaction et renforce votre image de marque. Grâce à Midjourney, vous pouvez générer des avatars, des interfaces conversationnelles, des mascottes et des éléments visuels UI sans avoir besoin de compétences en design graphique. Les prompts adaptés permettent de créer des visuels cohérents avec votre charte graphique, du style cartoon accessible au design corporate épuré. Dans ce guide, vous trouverez des prompts optimisés pour générer tous les assets visuels nécessaires à votre chatbot : avatar principal, variations d'émotions, bulles de conversation stylisées et écrans d'accueil. Chaque prompt a été testé et affiné pour produire des résultats professionnels et directement exploitables dans vos projets de développement.

0238
💻DeveloppementDebutantAll AIs

Chiffrement at rest et in transit

Sécuriser les données au repos et en transit

0229