0 Tage Serie
javascript / expert
Snippet

Rekursive Fehlerverkettung mit der 'cause'-Eigenschaft

Die Eigenschaft 'cause' im Error-Konstruktor ermöglicht strukturiertes Error-Wrapping. Dies bewahrt den ursprünglichen Fehlerkontext bei gleichzeitiger Bereitstellung einer übergeordneten Nachricht, was für das Debugging komplexer Dienstarchitekturen in Node.js essenziell ist.

snippet.js
javascript
1
2
3
4
5
6
7
8
9
10
11
12
13
14
async function fetchData() {
try {
await db.query('SELECT...');
} catch (dbErr) {
throw new Error('Failed to retrieve user data', { cause: dbErr });
}
}
try {
await fetchData();
} catch (err) {
console.error(err.message);
console.error('Original source:', err.cause.message);
}
nodejs
Erklärung
1
{ cause: dbErr }
Übergibt den ursprünglichen Fehler als Metadaten an die neue Error-Instanz.
2
err.cause
Greift auf das verschachtelte Fehlerobjekt für eine tiefe Diagnoseanalyse zu.