Maison  >  Article  >  interface Web  >  Comment étendre les objets d'erreur pour les exceptions personnalisées en JavaScript ?

Comment étendre les objets d'erreur pour les exceptions personnalisées en JavaScript ?

Susan Sarandon
Susan Sarandonoriginal
2024-10-23 22:07:02143parcourir

How to Extend Error Objects for Custom Exceptions in JavaScript?

Extension des objets d'erreur en JavaScript

Lors du lancement d'exceptions en JavaScript, on peut souhaiter étendre l'objet d'erreur intégré pour créer une erreur personnalisée genres. Cela permet une gestion des exceptions plus spécifique et informative.

En JavaScript, l'héritage ne se fait pas par sous-classement

Contrairement à Python, où les exceptions sont généralement sous-classées à partir de la base d'exceptions. classe, JavaScript ne prend pas en charge les sous-classes traditionnelles pour les objets d'erreur. Au lieu de cela, il utilise le concept d'extension de prototype.

Extension des objets d'erreur dans ES6

Dans ES6, le mot-clé extends peut être utilisé pour étendre l'objet Error, créant ainsi un constructeur d'erreur personnalisé :

class MyError extends Error {
  constructor(message) {
    super(message);
    this.name = 'MyError';
  }
}

Dans cet exemple, la classe MyError hérite de l'objet Error et remplace la propriété name.

Création d'exceptions personnalisées

Pour créer une instance de l'erreur personnalisée, instanciez-la simplement comme n'importe quel autre objet :

throw new MyError('Something went wrong');

Gestion des erreurs personnalisées

Lors de la gestion des erreurs, vous pouvez utiliser l'opérateur instanceof pour vérifier les types d'erreurs spécifiques :

try {
  // ...
} catch (err) {
  if (err instanceof MyError) {
    // Handle MyError specifically
  } else {
    // Handle other errors
  }
}

Ce qui précède est le contenu détaillé de. pour plus d'informations, suivez d'autres articles connexes sur le site Web de PHP en chinois!

Déclaration:
Le contenu de cet article est volontairement contribué par les internautes et les droits d'auteur appartiennent à l'auteur original. Ce site n'assume aucune responsabilité légale correspondante. Si vous trouvez un contenu suspecté de plagiat ou de contrefaçon, veuillez contacter admin@php.cn