typescript / intermediate
Snippet
Ableitung von Error für benutzerdefinierte Ausnahmehiearchien
Das Erweitern der nativen Error-Klasse ermöglicht domänenspezifische Fehlerbehandlung mit zusätzlichen Metadaten wie Ziel-Feldern bei Erhalt des Stack-Traces.
snippet.ts
typescript
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
class ValidationError extends Error {constructor(public readonly field: string, message: string) {super(message);this.name = 'ValidationError';}}function parseAge(input: unknown): number {if (typeof input !== 'number') {throw new ValidationError('age', 'Expected age to be a number');}if (input < 0 || input > 120) {throw new ValidationError('age', 'Age must be between 0 and 120');}return input;}
Erklärung
1
class ValidationError extends Error {
Deklariert eine benutzerdefinierte Fehler-Subklasse, die von der integrierten Error-Klasse erbt.
2
constructor(public readonly field: string, message: string) {
Initialisiert automatisch eine public readonly field-Eigenschaft an der Fehlerinstanz.
3
super(message);
Ruft den übergeordneten Error-Konstruktor auf, um Fehlermeldung und Aufrufstapel zu erstellen.
4
throw new ValidationError('age', 'Expected age to be a number');
Instanziiert und wirft den benutzerdefinierten Fehler mit Domänenkontext.