javascript / expert
Snippet
Hierarchische Fehlerursachen-Kettung in Next.js Server Components
Die Nutzung des nativen JavaScript-Standards Error.cause ermöglicht das Erhalten tiefer liegender Stacktraces beim Verpacken von Domänenfehlern in Next.js Server Components für präzise Error-Boundary-Diagnosen.
snippet.js
javascript
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
export class DatabaseError extends Error {constructor(message: string, cause?: unknown) {super(message, { cause });this.name = 'DatabaseError';}}export async function fetchUserData(userId: string) {try {const res = await fetch(`https://api.internal/users/${userId}`);if (!res.ok) throw new Error(`HTTP status ${res.status}`);return await res.json();} catch (err) {throw new DatabaseError(`Failed fetching user profile for ID ${userId}`, err);}}
nextjs
Erklärung
1
super(message, { cause });
Übergibt den abgefangenen Fehler untergeordneter Ebenen über die Eigenschaft 'cause' an den nativen Error-Konstruktor.
2
throw new DatabaseError(`Failed fetching user profile for ID ${userId}`, err);
Kapselt den fehlgeschlagenen Fetch-Aufruf in einen spezifischen Fehlerkontext und bewahrt die ursprüngliche Ursachenkette.