Manejo de errores
Crea un manejo de errores robusto y respuestas consistentes
Middleware de error
function errorHandler(err, req, res, next) {
console.error(err);
res.status(500).json({ error: 'Error interno' });
}
app.use(errorHandler);
Errores async
app.get('/users', async (req, res, next) => {
try {
const users = await repo.list();
res.json(users);
} catch (err) {
next(err);
}
});
404 personalizado
app.use((req, res) => {
res.status(404).json({ error: 'Ruta no encontrada' });
});
⚠️ Buenas prácticas
- • No expongas stack traces en producción
- • Loguea errores con un logger (pino, winston)
- • Devuelve mensajes consistentes