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: