Richtlinien für die Behandlung von Fehlern im Baseline Tool
Dieses Dokument beschreibt das Vorgehen, wie spezifische Fehlermeldungen in Baseline abgebildet werden.
1. Struct WithCode
dient als Kommunikationsmedium
WithCode
ist ein eigener Fehlertyp (struct
) und wird innerhalb vom Baseline-Backend verwendet, um im Fehlerfall
Informationen bis zu dem Endanwender zu kommunizieren. Dabei ist auf die Formulierung und Struktur der vorhandenen
Fehler und ihren Fehlercodes und -texten zu achten. Alle Fehlercodes sind in der Datei errorMessages.go
im Paket customerror
zu
finden.
Dort befindet sich ebenfalls die Funktion WriteErrorWithCode
, über welches der WithCode
-Error ausgewertet und als Response
ans Frontend gegeben wird.
In dieser Funktion werden die Fehlercodes sowie ggf. in die Fehlermeldungen einzufügende Variablen (z.B. der Name einer Baseline
oder der name einer Datei) der Response hinzugefügt. Das Frontend kann diese dann auswerten.
2. Behandlung der Fehler im Frontend
Jeder Teil des Frontends, welcher sich um das Handling dieser Fehler kümmert, geht auf zwei verschiedene Arten damit um.
- Es wird probiert, ob in der Übersetzungsdatei eine Übersetzung des Fehlers namens
specific_backend_errors.<Fehlercode>
definiert wurde. Sollte das der Fall sein, so wird diese Übersetzung des Fehlers genommen und ggf. vorhandene Variablen, die vom Backend übermittelt wurden, werden mit eingefügt. - Sollte diese Übersetzung nicht vorhanden sein, wird eine Fallback-Fehlermeldung zurückgegeben.
Um diese Logik abzubilden, wurde die Funktion errorMessage(options: {error: ErrorWithCode,fallbackMsgKey: string})
geschaffen.