Elm:
Feilhåndtering

Hvordan:

Elms kjernefilosofi er Ingen Kjøretidsunntak. Så Elm utnytter sitt typesystem med typer som Maybe og Result for å håndtere feil.

For Maybe-scenario:

safeDivide : Float -> Float -> Maybe Float
safeDivide numerator denominator =
    if denominator == 0 then
        Nothing
    else
        Just (numerator / denominator)
        
-- Når du kjører det:

safeDivide 10 2
--> Just 5

safeDivide 10 0
--> Nothing

For Result-scenario:

type Error = DivisionByZero

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

-- Og bruker det:

safeDivide 10 2
--> Ok 5

safeDivide 10 0
--> Err DivisionByZero

Dypdykk

Elms typesystem er strengt, noe som hjelper med å fange opp feil tidlig. Historisk sett har de fleste språk stolt på unntak og kjøretidssjekker, men Elm har valgt garantiene ved kompileringstid. Alternativer som Result tillater detaljert feilinformasjon, mens Maybe er enklere for ja-nei-scenarioer. Elms feilhåndtering oppmuntrer utviklere til å vurdere alle veier på forhånd og unngår fallgruvene med glemte feiltilfeller.

Se også: