javascript / expert
Snippet
Benutzerdefinierte Fehler-Hierarchie mit Cause-Ketten in Next.js Server Actions
Das Erstellen domänenspezifischer Fehler-Unterklassen mit ECMAScript Cause-Chaining ermöglicht es Next.js Server Actions, technische Upstream-Exceptions sicher zu erfassen und benutzerseitige Rückgabewerte zu normalisieren.
snippet.js
javascript
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
export class ActionError extends Error {constructor(message, status = 500, cause = null) {super(message, { cause });this.name = 'ActionError';this.status = status;this.timestamp = Date.now();}}export function handleActionFailure(err) {if (err instanceof ActionError) {return { success: false, error: err.message, status: err.status, rootCause: err.cause?.message };}return { success: false, error: 'Internal Server Error', status: 500 };}
nextjs
Erklärung
1
super(message, { cause });
Übergibt den ursprünglichen Exception-Kontext über die cause-Option an den Standard-Error-Konstruktor.
2
if (err instanceof ActionError) {
Verwendet Prototypen-Prüfung, um erwartete Domänenfehler von unerwarteten internen Serverfehlern zu unterscheiden.
3
rootCause: err.cause?.message
Liest verschachtelte Fehlermeldungs-Metadaten mithilfe von Optional Chaining sicher aus.