javascript / intermediate
Snippet
Bereinigen von Stack-Traces in Fehlern
In Node.js (V8) ermöglicht Error.captureStackTrace, die internen Implementierungsdetails Ihrer benutzerdefinierten Fehlerklassen im Stack-Trace zu verbergen, wodurch Protokolle sauberer und für den Aufrufer relevanter werden.
snippet.js
1
2
3
4
5
6
7
8
9
10
11
class DatabaseError extends Error {constructor(message, query) {super(message);this.query = query;if (Error.captureStackTrace) {Error.captureStackTrace(this, DatabaseError);}}}throw new DatabaseError('Connection lost', 'SELECT * FROM users');
nodejs
Erklärung
1
Error.captureStackTrace(this, DatabaseError);
Erfasst den Stack-Trace, schließt aber den Konstruktor von DatabaseError aus der Ausgabe aus.