TechLead

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