javascript / expert
Snippet
Polymorphe benutzerdefinierte Fehlerhierarchie-Integration im Vue-App-Handler
Die Strukturierung von Fehlergrenzen auf Anwendungsebene mittels ES6-Klassenvererbung ermöglicht es benutzerdefinierten Vue-Fehler-Handlern, polymorphes Fehler-Routing basierend auf Prototyp-Instanzprüfungen auszuführen.
snippet.js
javascript
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
export class DomainError extends Error {constructor(message, code) {super(message);this.name = this.constructor.name;this.code = code;}}export class SecurityBoundaryError extends DomainError {constructor(message) {super(message, 'ERR_SECURITY_VIOLATION');}}export function registerGlobalErrorHandler(app) {app.config.errorHandler = (err, instance, info) => {if (err instanceof SecurityBoundaryError) {console.error(`[Security Fault] ${err.code}: ${err.message} at ${info}`);} else if (err instanceof DomainError) {console.warn(`[Domain Fault] ${err.code}: ${err.message}`);} else {throw err;}};}
vue
Erklärung
1
export class DomainError extends Error {
Etabliert eine Basis-Fehlerklasse durch Vererbung des Standard-Error-Prototyps.
2
export class SecurityBoundaryError extends DomainError {
Spezialisiert Domain-Ausnahmen für sicherheitsrelevante Anwendungsfehler.
3
app.config.errorHandler = (err, instance, info) => {
Koppelt in die globale Fehlerbehandlungs-Pipeline der Vue-App ein.
4
if (err instanceof SecurityBoundaryError) {
Wertet den Fehlertyp polymorph aus, um dedizierte Behandlungslogik auszuführen.