Extension des erreurs en JavaScript : un guide complet
La gestion des erreurs est une partie essentielle de tout langage de programmation. En JavaScript, Error est la classe de base pour toutes les erreurs. Cependant, nous pouvons parfois souhaiter créer nos propres types d'erreur personnalisés qui héritent de la classe Error de base mais fournissent des fonctionnalités ou des propriétés supplémentaires.
Extension d'erreur à l'aide d'ES6
Avec le introduction d'ES6, l'extension d'Erreur est devenue beaucoup plus facile. Nous pouvons maintenant utiliser le mot-clé extends pour créer une nouvelle classe qui hérite de Error :
class MyError extends Error { constructor(message) { super(message); this.name = 'MyError'; } }
Cette classe étend la classe Error et ajoute une propriété de nom personnalisée. Nous pouvons maintenant lancer des instances de MyError comme ceci :
throw new MyError('Something went wrong');
Lorsque nous capturons et traitons une instance de MyError, nous pouvons accéder à sa propriété de nom personnalisée, ce qui nous aidera à identifier le type d'erreur :
try { // ... } catch (error) { if (error instanceof MyError) { console.error(`MyError: ${error.message}`); } else { console.error(`Unknown error: ${error.message}`); } }
Extension de l'erreur à l'aide de l'ancien JavaScript
Dans l'ancien JavaScript, nous pouvons étendre l'erreur à l'aide de la chaîne de prototypes :
function MyError(message) { this.message = message; } MyError.prototype = Object.create(Error.prototype); MyError.prototype.constructor = MyError; MyError.prototype.name = 'MyError';
Cette approche est légèrement plus détaillée , mais cela fonctionne également dans les anciennes versions de JavaScript qui ne prennent pas en charge ES6.
Conclusion
L'extension de l'erreur dans JavaScript nous permet de créer des types d'erreur personnalisés qui peuvent être utilisé pour fournir des informations plus détaillées sur les erreurs et pour les gérer spécifiquement. Que vous utilisiez ES6 ou JavaScript existant, il existe un moyen approprié d'étendre Error pour répondre à vos besoins.
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!