javascript / intermediate
Snippet
Erstellung domänenspezifischer Ausnahmehierarchien mit eigenen Fehlerklassen
Das Erben von der integrierten Error-Klasse ermöglicht den Aufbau maßgeschneiderter Fehlerhierarchien. Mittels instanceof-Prüfungen im GlobalErrorHandler von Angular wird eine typsichere, polymorphe Ausnahmebehandlung realisiert.
snippet.js
javascript
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
import { ErrorHandler, Injectable } from '@angular/core';export class AppDomainError extends Error {constructor(public code: number, message: string) {super(message);this.name = 'AppDomainError';Object.setPrototypeOf(this, AppDomainError.prototype);}}@Injectable()export class GlobalErrorHandler implements ErrorHandler {handleError(error: unknown): void {if (error instanceof AppDomainError) {console.error(`Domain Error [Code ${error.code}]: ${error.message}`);} else {console.error('Unhandled runtime error:', error);}}}
angular
Erklärung
1
export class AppDomainError extends Error {
Erstellt eine spezialisierte Domänenfehlerklasse durch Vererbung von der Standard-JavaScript-Error-Superklasse.
2
super(message);
Ruft den übergeordneten Error-Konstruktor auf, um die message-Eigenschaft zu initialisieren und Stack-Traces zu erfassen.
3
if (error instanceof AppDomainError) {
Verwendet polymorphe Typüberprüfung zur Laufzeit, um domänenspezifische Ausnahmen gezielt zu behandeln.