Aller au contenu

Erreurs personnalisées en JavaScript

Exploiter les erreurs personnalisées en JavaScript pour une gestion améliorée des erreurs

JavaScript permet aux développeurs de créer leurs propres types d'erreurs personnalisées en étendant la classe intégrée Error. Cette fonctionnalité permet une gestion des erreurs plus détaillée et une meilleure gestion des exceptions dans les applications complexes. Nous explorerons ici comment définir et utiliser des erreurs personnalisées à travers des exemples pratiques.

Les bases de l'extension de la classe Error

Pour créer une erreur personnalisée, vous étendez la classe Error. Cela consiste à définir une nouvelle classe qui hérite des propriétés et méthodes de Error.

Création d'une classe d'erreur personnalisée

Voici un exemple simple de création d'une erreur personnalisée :


javascript
class ValidationError extends Error {
  constructor(message) {
    super(message);  // Call the super class constructor and pass in the message
    Object.setPrototypeOf(this, new.target.prototype);  // Ensure instanceof works correctly across realms
    this.name = "ValidationError";  // Set the error name to the class name
  }
}

Cette classe ValidationError peut être utilisée pour gérer spécifiquement les erreurs liées à la validation dans une application.

Utilisation des erreurs personnalisées

Une fois qu'une erreur personnalisée est définie, vous pouvez la lever dans votre application comme n'importe quelle erreur standard :


Output appears here after Run.

Dans cet exemple, un email est validé à l'aide d'une expression régulière. Si la validation échoue, une ValidationError est levée. Cette erreur est ensuite capturée dans le bloc try...catch, et si elle est une instance de ValidationError, un message spécifique est affiché.

Gestion de plusieurs types d'erreurs personnalisées

Vous souhaiterez peut-être créer différents types d'erreurs pour différentes parties de votre application. Voici comment gérer plusieurs erreurs personnalisées :


Output appears here after Run.

Cette configuration permet une gestion distincte des différents types d'erreurs, rendant l'application plus robuste et plus facile à déboguer.

Gestion avancée des erreurs personnalisées en JavaScript

En s'appuyant sur les bases des erreurs personnalisées, nous pouvons les appliquer à des scénarios plus complexes, tels que les opérations asynchrones et des cas de logique métier spécifiques.

Exemple 1 : Gestion des erreurs API personnalisées

Cet exemple montre comment créer et utiliser une erreur personnalisée pour gérer les problèmes de requête API, comme lorsqu'une ressource demandée n'est pas trouvée ou que le serveur renvoie une erreur.


Output appears here after Run.

Explication

  • Classe ApiError : Cette classe personnalisée capture les erreurs spécifiques à l'API, en stockant le code de statut HTTP ainsi qu'un message personnalisé.
  • Fonction fetchData : Tente de récupérer des données à partir d'une URL fournie. Si la réponse n'est pas réussie, elle lève une ApiError avec un message détaillé et un code de statut.
  • Gestion des erreurs : Les erreurs sont capturées et gérées de manière appropriée. Les erreurs liées à l'API sont consignées avec des informations détaillées, tandis que les erreurs inattendues sont également capturées et consignées.

Exemple 2 : Gestion des erreurs de validation personnalisées

Utilisez cet exemple pour gérer les erreurs liées à la validation des données, comme la vérification des entrées utilisateur.


Output appears here after Run.

Explication

  • Classe ValidationError : Une classe d'erreur personnalisée qui aide à identifier quel champ spécifique des données d'entrée a échoué à la vérification de validation.
  • Fonction validateUser : Vérifie la validité des données utilisateur. Si les données ne répondent pas à certains critères, elle lève une ValidationError.
  • Gestion des erreurs : Capture les erreurs de validation et les consigne avec des informations détaillées. Les autres types d'erreurs sont également gérés séparément.

Conclusion

La création de classes d'erreurs personnalisées en JavaScript en étendant la classe Error est une technique puissante pour gérer des types d'erreurs spécifiques de manière plus granulaire. Elle améliore la clarté et la maintenabilité de la gestion des erreurs dans votre code, vous permettant de fournir des retours et des actions plus précis en fonction de différentes conditions d'erreur. Cette méthode aide non seulement au débogage, mais améliore également la fiabilité de vos applications en s'assurant que chaque type d'erreur est capturé et géré de manière appropriée.

Pratique

Quel est l'intérêt d'utiliser des classes d'erreurs étendues en JavaScript ?

Trouvez-vous cela utile?

Aperçu dual-run — comparez avec les routes Symfony en production.