Lors du développement d'applications, la gestion des erreurs est un aspect crucial pour garantir une expérience utilisateur fluide et atténuer les problèmes imprévus. Dans l' Express.js environnement, vous avez plusieurs façons de gérer les erreurs et de fournir des messages de réponse appropriés aux utilisateurs. Voici un guide sur la façon d'y parvenir :
Utilisation Middleware pour la gestion globale des erreurs
Créez une gestion globale des erreurs middleware en ajoutant le code suivant à la fin du app.js
fichier or main de votre Express.js application.
app.use((err, req, res, next) => {
console.error(err.stack);
res.status(500).send('Something went wrong!');
});
Gestion des erreurs pour des Route
Dans un spécifique route, vous pouvez utiliser un bloc try
- catch
pour intercepter les erreurs et fournir des messages de réponse appropriés.
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!');
}
});
Utilisation de l'erreur centralisée Middleware
Créez une erreur centralisée middleware pour gérer les erreurs provenant de divers fichiers 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');
});
Gestion des erreurs asynchrones
Dans le cas d'une gestion asynchrone, utilisez la next
méthode pour transmettre les erreurs à la gestion globale des erreurs middleware.
app.get('/data',(req, res, next) => {
fetchDataFromDatabase((err, data) => {
if(err) {
return next(err);
}
res.json(data);
});
});
Conclusion
La gestion des erreurs fait partie intégrante du Express.js développement d'applications. En utilisant middleware, en gérant des erreurs spécifiques et en fournissant des messages de réponse appropriés, vous pouvez créer une expérience d'application fluide et fiable pour vos utilisateurs.