0 Tage Serie
javascript / intermediate
Snippet

Spezialisierte Logik mit benutzerdefinierten Fehlerklassen

Das Erweitern der integrierten Error-Klasse ermöglicht es Ihnen, domänenspezifische Fehler zu erstellen. Durch das Hinzufügen benutzerdefinierter Eigenschaften wie 'field' oder 'code' können Sie eine intelligentere Fehlerbehandlung und API-Antwortlogik implementieren.

snippet.js
javascript
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
class ValidationError extends Error {
constructor(message, field) {
super(message);
this.name = 'ValidationError';
this.field = field;
this.code = 400;
}
}
try {
throw new ValidationError('Invalid email format', 'email');
} catch (err) {
if (err instanceof ValidationError) {
console.error(`Field [${err.field}] error: ${err.message}`);
}
}
nodejs
Erklärung
1
class ValidationError extends Error
Erbt von der Basis-Error-Klasse, um die Stack-Trace-Funktionalität beizubehalten.
2
super(message)
Ruft den Konstruktor der Elternklasse auf, um die Standard-Fehlermeldung zu setzen.
3
err instanceof ValidationError
Identifiziert genau den spezifischen Fehlertyp für eine gezielte Behandlung.