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
--> NothingResult 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 DivisionByZeroSyvä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:
- Elmin virallinen oppaan osio virheenkäsittelystä: Virheenkäsittely – Johdanto
- Elm
Maybedokumentaatio: Elm – Maybe - Elm
Resultdokumentaatio: Elm – Result