Durante el desarrollo de aplicaciones, el manejo de errores es un aspecto crucial para garantizar una experiencia de usuario fluida y mitigar problemas imprevistos. En el Express.js entorno, tiene varias formas de manejar los errores y proporcionar mensajes de respuesta adecuados a los usuarios. Aquí hay una guía sobre cómo lograr esto:
Uso Middleware para el manejo de errores globales
Cree un manejo de errores global middleware agregando el siguiente código al final del app.js
archivo o principal de su Express.js aplicación.
app.use((err, req, res, next) => {
console.error(err.stack);
res.status(500).send('Something went wrong!');
});
Manejo de errores para específicos Route
En un mensaje específico route, puede usar un bloque try
- catch
para detectar errores y proporcionar mensajes de respuesta apropiados.
app.get('/profile/:id', async(req, res) => {
try {
const user = await getUserById(req.params.id);
res.json(user);
} catch(error) {
res.status(404).send('User not found!');
}
});
Uso de error centralizado Middleware
Cree un error centralizado middleware para manejar los errores que se originan en varios archivos route.
app.use((req, res, next) => {
const error = new Error('Not found');
error.status = 404;
next(error);
});
app.use((err, req, res, next) => {
res.status(err.status || 500);
res.send(err.message || 'Something went wrong');
});
Manejo de errores asincrónicos
En el caso del manejo asincrónico, use el next
método para pasar errores al manejo global de errores middleware.
app.get('/data',(req, res, next) => {
fetchDataFromDatabase((err, data) => {
if(err) {
return next(err);
}
res.json(data);
});
});
Conclusión
El manejo de errores es una parte integral del Express.js desarrollo de aplicaciones. Al utilizar middleware, manejar errores específicos y proporcionar mensajes de respuesta apropiados, puede crear una experiencia de aplicación fluida y confiable para sus usuarios.