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
--> NothingVoor 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 DivisionByZeroDiepere 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:
- Elm’s officiële gidssectie over foutafhandeling: Foutafhandeling – Een Introductie
- Elm
Maybedocumentatie: Elm – Maybe - Elm
Resultdocumentatie: Elm – Result