0 Tage Serie
javascript / intermediate
Snippet

Kontextbezogenes Debugging mit Error Cause

Die 'cause'-Eigenschaft im Error-Konstruktor ermöglicht es, einen ursprünglichen Fehler in einen neuen zu verpacken. Dies bewahrt den Stack-Trace und den Kontext der Fehlerursache, während gleichzeitig höherwertige Fehlermeldungen möglich sind.

snippet.js
javascript
1
2
3
4
5
6
7
8
9
10
try {
try {
throw new Error('Database connection failed');
} catch (err) {
throw new Error('Login failed', { cause: err });
}
} catch (wrapperError) {
console.log(wrapperError.message); // 'Login failed'
console.log(wrapperError.cause.message); // 'Database connection failed'
}
Erklärung
1
throw new Error('Login failed', { cause: err });
Verpackt den Low-Level-Fehler 'err' in einen benutzerorientierten Fehler.
2
wrapperError.cause
Greift auf das ursprüngliche Fehlerobjekt für eine genauere Untersuchung zu.
3
console.log(wrapperError.cause.message);
Ruft den spezifischen Grund ab, warum die Operation ursprünglich fehlgeschlagen ist.