javascript / intermediate
Snippet
Kontextbezogenes Debugging mit Error Cause
Die Eigenschaft 'cause' im Error-Konstruktor ermöglicht es Ihnen, Fehler auf niedrigerer Ebene in einen Kontext auf höherer Ebene einzubinden, ohne den ursprünglichen Stacktrace oder Fehlerdetails zu verlieren. Dies ist entscheidend für das Debugging komplexer Abläufe in Node.js-Backends.
snippet.js
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
async function processOrder(orderId) {try {await db.save(orderId);} catch (err) {throw new Error(`Failed to process order ${orderId}`, {cause: err});}}// Catching:try {await processOrder(123);} catch (err) {console.error(err.message); // High-level messageconsole.error(err.cause); // Original database error}
nodejs
Erklärung
1
throw new Error(..., { cause: err });
Umschließt den ursprünglichen Fehler in einem neuen Error mithilfe des Optionsobjekts.
2
console.error(err.cause);
Greift auf den zugrunde liegenden Fehler zu, der den Ausfall verursacht hat.