banner

Blog

Jul 20, 2023

5 façons de gérer efficacement les erreurs dans les applications Express.js avec des exemples pratiques

Découvrez les différents types d'erreurs que vous pouvez gérer et comment vous pouvez utiliser Express.js pour les gérer.

Dans un scénario idéal, vous créez vos API et services backend, vous les déployez en production, puis vous vous asseyez et vous détendez pendant que d'autres les utilisent. Malheureusement, dans le monde réel, les programmes que vous écrivez contiendront presque certainement des erreurs et des bugs.

Pour cette raison, lors du développement d'API Express.js et de services backend, il est important de prendre en compte la manière dont différentes erreurs peuvent se produire et comment les gérer efficacement.

En anticipant de tels scénarios, vous pouvez garantir que vos applications non seulement gèrent efficacement les pannes, mais offrent également aux utilisateurs une expérience transparente.

Lors du développement d'applications Express.js, vous rencontrerez différents types d'erreurs, notamment :

Il existe différentes techniques que vous pouvez utiliser pour gérer efficacement les erreurs dans vos API REST Express.js et vos services backend.

Un moyen simple de gérer les erreurs consiste à les détecter et à enregistrer les détails sur la console. Cette approche vous aide à identifier les erreurs lors des phases de développement et de débogage.

En utilisantconsole.erreur() , vous pouvez obtenir des informations sur la nature et l'emplacement des erreurs dans votre application. Voici un exemple de code :

Express.js propose plusieurs packages middleware de gestion des erreurs pour rationaliser la gestion des erreurs. Un de ces packages estgestionnaire d'erreurs express: ces packages facilitent la gestion et la réponse aux erreurs en fournissant des fonctionnalités prêtes à l'emploi, telles que des messages d'erreur personnalisés et des fonctionnalités de journalisation des erreurs.

Pour utiliser ce package, vous devez l'installer dans votre projet :

Une fois installé, vous pouvez utiliser ses fonctionnalités pour améliorer les capacités de gestion des erreurs de votre application.

Par exemple, dans l'exemple ci-dessus, supposons qu'un utilisateur demande un itinéraire qui n'existe pas. La fonction de gestionnaire déclenchera et redirigera l'utilisateur vers une page d'erreur 404 personnalisée, 404.html. Cela garantit que l'application Express.js gère efficacement une erreur de page introuvable.

Essentiellement, ces packages offrent une approche plus conviviale pour gérer les erreurs qui peuvent survenir.

La gestion des erreurs de programmation synchrones et asynchrones à l’aide de blocs try-catch est une technique efficace dans Express.js. Pour le code synchrone, vous pouvez gérer les erreurs en encapsulant la section potentiellement sujette aux erreurs dans un bloc try-catch.

Voici un exemple de code présentant les blocs try-catch utilisés :

Cependant, lorsque vous travaillez avec des opérations asynchrones telles que des requêtes de base de données ou en utilisant Axios pour consommer des API, les blocs try-catch seuls peuvent ne pas suffire. Dans de tels cas, vous pouvez désormais intégrer leasynchrone et attendremots-clés dans les blocs pour gérer les erreurs plus efficacement.

Voici un exemple de code :

Un middleware personnalisé de gestion des erreurs vous permet de définir la manière dont votre programme gère les erreurs et leurs réponses correspondantes, en fonction des exigences de votre application.

En créant des fonctions middleware de gestion des erreurs, vous pouvez centraliser et personnaliser la gestion des erreurs, garantissant ainsi une approche plus organisée et personnalisée de la gestion des erreurs dans l'ensemble de l'application.

Voici un exemple de code de fonction middleware personnalisé :

Dans cet exemple, lenotFoundHandlerla fonction vérifie leRessource paramètre dans l’URL de la demande. En fonction de la valeur fournie, la fonction de gestionnaire répond avec des messages d'erreur personnalisés pour différents types de ressources, tels que les utilisateurs et les produits.

Pour toute autre ressource non explicitement gérée, il fournit un message d'erreur générique. Alternativement, au sein de ce middleware, vous pouvez également choisir de diriger les utilisateurs vers des pages d'erreur personnalisées qui les aident à résoudre les problèmes qu'ils ont rencontrés.

En utilisant ce middleware personnalisé de gestion des erreurs, vous pouvez adapter la gestion des erreurs et les réponses à différentes situations, rendant la gestion des erreurs plus spécifique et informative.

Dans un environnement de production, il est essentiel de mettre en œuvre une journalisation et une surveillance des erreurs pour suivre les erreurs d'application. Certains outils efficaces que vous pouvez utiliser incluent Winston et Morgan, entre autres. Ces outils enregistrent les erreurs dans un fichier, un serveur centralisé ou une plateforme de surveillance, vous permettant d'identifier et de résoudre rapidement les problèmes.

PARTAGER