Saltar al contenido

Lección 9 de 12 · Lectura y práctica

Manejo centralizado de errores

Lección práctica para aplicar Manejo centralizado de errores dentro de Construcción de APIs RESTful con Node.js y Express, con criterios de decisión, ejemplo guiado, ejercicio y checklist de salida.

Del concepto a la práctica

Taller de esta lección

Un manejador centralizado evita que cada controlador invente un formato distinto y permite ocultar detalles internos. En una API de reservas, un error de dominio como “cupo completo” puede exponerse con un código estable, mientras que el mensaje de una excepción de base de datos debe quedar en los registros del servidor, no en la respuesta pública.

Ejemplo resuelto

Un controlador puede ejecutar next(new Error('CUPO_COMPLETO')). El middleware final recibe (err, req, res, next), identifica ese código y responde 409 con { "error":"CUPO_COMPLETO" }. Para un error desconocido responde 500 con { "error":"INTERNAL_ERROR" }; el detalle se registra internamente sin incluir credenciales ni consultas.

Pruébalo

  1. Define errores conocidos con código y estado.

  2. Pasa errores asíncronos al flujo central. En Express 5, una Promise retornada que rechaza llega automáticamente a next; los errores dentro de callbacks ajenos necesitan pasarse explícitamente. Consulta la versión de tu proyecto antes de aplicar el patrón.

  3. Coloca el middleware después de todas las rutas. Si res.headersSent ya es verdadero, delega con return next(err) en vez de intentar enviar otro JSON.

  4. Envía un caso de conflicto y uno inesperado controlado.

Error frecuente: llamar dos veces a res.json. Corrígelo retornando después de responder y dejando una sola capa responsable del formato final.

Comprueba tu resultado

El cupo completo produce 409 y el código estable. El caso inesperado produce 500 sin trazas ni mensajes de base de datos. Cada solicitud recibe una única respuesta y el registro interno conserva suficiente contexto para depurar.

Navegador, API y base de datos conectados por solicitudes, consultas y respuestas en sentidos opuestos.
CursaloMapa de práctica
Del navegador a los datos

El navegador envía una solicitud a la API. El servidor valida la operación y consulta los datos; después devuelve una respuesta que el navegador puede mostrar. La base de datos se comunica con el servidor y no directamente con el navegador.

Ver la infografía en tamaño completo ↗

Sigue con Construcción de APIs RESTful con Node.js y Express

Esta lección forma parte de un curso de Cursalo. Revisa su programa y elige entre la compra individual o el acceso a toda la escuela.

Si ya tenías acceso a este curso, entra con tu cuenta: tus derechos y tu progreso se conservan. No necesitas comprarlo de nuevo.

01 / ELEGIR UNA RUTA

El próximo paso

Aprende IA mientras construyes algo que sí necesitas.

Empieza por el curso inicial o explora el catálogo para encontrar una práctica alineada con tu trabajo.