Elm:
Fehlerbehandlung
Wie geht das:
Die Kernphilosophie von Elm ist Keine Laufzeit-Ausnahmen. Daher nutzt Elm sein Typsystem mit Typen wie Maybe
und Result
, um Fehler zu behandeln.
Für das Maybe
-Szenario:
safeDivide : Float -> Float -> Maybe Float
safeDivide numerator denominator =
if denominator == 0 then
Nothing
else
Just (numerator / denominator)
-- Wenn Sie es ausführen:
safeDivide 10 2
--> Just 5
safeDivide 10 0
--> Nothing
Für das Result
-Szenario:
type Error = DivisionByZero
safeDivide : Float -> Float -> Result Error Float
safeDivide numerator denominator =
if denominator == 0 then
Err DivisionByZero
else
Ok (numerator / denominator)
-- Und so benutzt man es:
safeDivide 10 2
--> Ok 5
safeDivide 10 0
--> Err DivisionByZero
Vertiefung
Elms Typsystem ist streng, was dabei hilft, Fehler frühzeitig zu erkennen. Historisch gesehen haben sich die meisten Sprachen auf Ausnahmen und Laufzeitüberprüfungen verlassen, aber Elm hat sich für Kompilierzeit-Garantien entschieden. Alternativen wie Result
erlauben detaillierte Fehlerinformationen, während Maybe
einfacher für Ja-Nein-Szenarien ist. Elms Fehlerbehandlung ermutigt Entwickler dazu, alle Pfade im Voraus zu bedenken, um die Fallstricke vergessener Fehlerfälle zu vermeiden.
Siehe auch:
- Elms offizieller Leitfadenabschnitt zur Fehlerbehandlung: Fehlerbehandlung – Eine Einführung
- Elm
Maybe
-Dokumentation: Elm – Maybe - Elm
Result
-Dokumentation: Elm – Result