javascript / expert
Snippet
Benutzerdefinierte strukturierte Fehlerhierarchie mit Ursachenweiterleitung
Nutzt die native ECMAScript-Fehler-Ursachen-Kette (cause) und Serialisierungs-Überschreibungen zur Erstellung domänenspezifischer Fehlerobjekte für Next.js-Error-Boundarys.
snippet.js
javascript
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
export class DomainValidationError extends Error {constructor(message, { code = 'ERR_DOMAIN_VALIDATION', cause, metadata = {} } = {}) {super(message, { cause });this.name = this.constructor.name;this.code = code;this.metadata = metadata;this.timestamp = Date.now();}toJSON() {return {error: this.name,code: this.code,message: this.message,metadata: this.metadata,cause: this.cause instanceof Error ? this.cause.message : this.cause,};}}
nextjs
Erklärung
1
super(message, { cause });
Ruft den übergeordneten Error-Konstruktor mit einem Options-Objekt auf, das die ursprüngliche innere Ursache enthält.
2
this.name = this.constructor.name;
Weist der Fehlerinstanz dynamisch den Namen zu, der der abgeleiteten Konstruktorklasse entspricht.
3
toJSON() {
Definiert benutzerdefinierte Serialisierungslogik, die automatisch bei JSON.stringify() ausgeführt wird.