Elm:
Fouten afhandelen

Hoe:

Elm’s kernfilosofie is Geen Runtime Uitzonderingen. Daarom maakt Elm gebruik van zijn typesysteem met typen zoals Maybe en Result om fouten te behandelen.

Voor het Maybe scenario:

safeDivide : Float -> Float -> Maybe Float
safeDivide numerator denominator =
    if denominator == 0 then
        Nothing
    else
        Just (numerator / denominator)
        
-- Wanneer je het uitvoert:

safeDivide 10 2
--> Just 5

safeDivide 10 0
--> Nothing

Voor het Result scenario:

type Error = DivisionByZero

safeDivide : Float -> Float -> Result Error Float
safeDivide numerator denominator =
    if denominator == 0 then
        Err DivisionByZero
    else
        Ok (numerator / denominator)

-- En het gebruiken:

safeDivide 10 2
--> Ok 5

safeDivide 10 0
--> Err DivisionByZero

Diepere Duik

Elm’s typesysteem is strikt, wat helpt om fouten vroeg te vangen. Historisch gezien leunden de meeste talen op uitzonderingen en runtime checks, maar Elm koos voor compile-time garanties. Alternatieven zoals Result bieden gedetailleerde foutinformatie, terwijl Maybe eenvoudiger is voor ja-nee scenario’s. Elm’s foutafhandeling moedigt ontwikkelaars aan om upfront alle paden te overwegen, waardoor de valkuilen van vergeten foutgevallen worden vermeden.

Zie Ook: