0 Tage Serie
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.