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