Elm:
Virheiden käsittely

Kuinka:

Elmin perusfilosofia on Ei Suoritusaikaisia Poikkeuksia. Joten Elm hyödyntää tyypitysjärjestelmäänsä tyypeillä kuten Maybe ja Result virheiden käsittelyyn.

Maybe skenaariolle:

safeDivide : Float -> Float -> Maybe Float
safeDivide numerator denominator =
    if denominator == 0 then
        Nothing
    else
        Just (numerator / denominator)
        
-- Kun ajat sen:

safeDivide 10 2
--> Just 5

safeDivide 10 0
--> Nothing

Result skenaariolle:

type Error = DivisionByZero

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

-- Ja käyttäen sitä:

safeDivide 10 2
--> Ok 5

safeDivide 10 0
--> Err DivisionByZero

Syväsukellus

Elmin tyypitysjärjestelmä on tiukka, mikä auttaa löytämään virheet aikaisin. Historiallisesti useimmat kielet ovat luottaneet poikkeuksiin ja suoritusaikaisiin tarkistuksiin, mutta Elm valitsi käännösaikaiset takeet. Vaihtoehdot kuten Result mahdollistavat yksityiskohtaisen virhetiedon, kun taas Maybe on yksinkertaisempi kyllä-ei-skenaarioissa. Elmin virheenkäsittely kannustaa kehittäjiä harkitsemaan kaikkia polkuja etukäteen, välttäen näin unohtuneiden virhetapausten sudenkuopat.

Katso myös: