Heim  >  Artikel  >  Web-Frontend  >  Wie erweitere ich Fehlerobjekte für benutzerdefinierte Ausnahmen in JavaScript?

Wie erweitere ich Fehlerobjekte für benutzerdefinierte Ausnahmen in JavaScript?

Susan Sarandon
Susan SarandonOriginal
2024-10-23 22:07:02143Durchsuche

How to Extend Error Objects for Custom Exceptions in JavaScript?

Erweitern von Fehlerobjekten in JavaScript

Beim Auslösen von Ausnahmen in JavaScript möchte man möglicherweise das integrierte Fehlerobjekt erweitern, um benutzerdefinierte Fehler zu erstellen Typen. Dies ermöglicht eine spezifischere und informativere Ausnahmebehandlung.

In JavaScript erfolgt die Vererbung nicht durch Unterklassen

Anders als in Python, wo Ausnahmen normalerweise von der Ausnahmebasis in Unterklassen unterteilt werden -Klasse unterstützt JavaScript keine herkömmliche Unterklassenbildung für Fehlerobjekte. Stattdessen nutzt es das Konzept der Prototypenerweiterung.

Erweitern von Fehlerobjekten in ES6

In ES6 kann das Schlüsselwort „extens“ verwendet werden, um das Fehlerobjekt zu erweitern und so ein zu erstellen Benutzerdefinierter Fehlerkonstruktor:

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

In diesem Beispiel erbt die MyError-Klasse vom Error-Objekt und überschreibt die Namenseigenschaft.

Benutzerdefinierte Ausnahmen erstellen

Um eine Instanz des benutzerdefinierten Fehlers zu erstellen, instanziieren Sie ihn einfach wie jedes andere Objekt:

throw new MyError('Something went wrong');

Benutzerdefinierte Fehler behandeln

Beim Behandeln von Fehlern können Sie verwenden Der Instanzoperator zur Prüfung auf bestimmte Fehlertypen:

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

Das obige ist der detaillierte Inhalt vonWie erweitere ich Fehlerobjekte für benutzerdefinierte Ausnahmen in JavaScript?. Für weitere Informationen folgen Sie bitte anderen verwandten Artikeln auf der PHP chinesischen Website!

Stellungnahme:
Der Inhalt dieses Artikels wird freiwillig von Internetnutzern beigesteuert und das Urheberrecht liegt beim ursprünglichen Autor. Diese Website übernimmt keine entsprechende rechtliche Verantwortung. Wenn Sie Inhalte finden, bei denen der Verdacht eines Plagiats oder einer Rechtsverletzung besteht, wenden Sie sich bitte an admin@php.cn