Implement Robust Error Handling in Node.js
Create a professional Node.js error handling architecture with custom error classes, centralized middleware, and monitoring.
Paste in your AI
Paste this prompt in ChatGPT, Claude or Gemini and customize the variables in brackets.
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.Why this prompt works
<p>This prompt intelligently distinguishes operational errors (predictable, manageable: user not found, validation failed) from programming errors (unexpected bugs: undefined is not a function). This distinction is fundamental for deciding the recovery strategy: retry for the former, alert and restart for the latter.</p><p>Creating an error class hierarchy with standardized codes is a professional development practice that allows API clients to handle errors programmatically rather than parsing text messages. This is the foundation of a robust API.</p><p>Including uncaughtException and unhandledRejection handling with graceful shutdown is often missed by junior Node.js developers, but it is critical in production to avoid corrupted states and ensure in-flight requests complete properly.</p>
Use Cases
Expected Output
Error class hierarchy, Express middleware, uncaught error handling, logging configuration, and monitoring integration.
Learn more
Check the full skill on Prompt Guide to master this technique from A to Z.
View on Prompt Guide📬 Get new prompts every week
Join our newsletter and never miss a prompt.
Similar Prompts
Automate Your Git Commits with AI
This prompt analyzes a Git diff and automatically generates structured commit messages following project conventions, with atomic splitting if needed.
Define a Git Strategy for a Team
Define a complete Git strategy adapted to your team: branching model, conventions, code review, and release management.
Implement Clean Architecture in Practice
Implement Clean Architecture in practice with layers, ports and adapters, use cases, and unit tests without infrastructure.
Legacy Code Refactoring
Safely and incrementally refactor legacy code following SOLID principles and modern best practices.