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
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.