Gestion des erreurs dans Express.js  : Stratégies efficaces et messages de réponse

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.