Elm:
Gestione degli errori
Come fare:
La filosofia di base di Elm è Nessuna Eccezione a Runtime. Di conseguenza, Elm sfrutta il suo sistema di tipi con tipi come Maybe
e Result
per gestire gli errori.
Per lo scenario Maybe
:
safeDivide : Float -> Float -> Maybe Float
safeDivide numeratore denominatore =
if denominatore == 0 then
Nothing
else
Just (numeratore / denominatore)
-- Quando lo esegui:
safeDivide 10 2
--> Just 5
safeDivide 10 0
--> Nothing
Per lo scenario Result
:
type Error = DivisionByZero
safeDivide : Float -> Float -> Result Error Float
safeDivide numeratore denominatore =
if denominatore == 0 then
Err DivisionByZero
else
Ok (numeratore / denominatore)
-- E usandolo:
safeDivide 10 2
--> Ok 5
safeDivide 10 0
--> Err DivisionByZero
Approfondimento
Il sistema di tipi di Elm è rigoroso, il che aiuta a rilevare gli errori precocemente. Storicamente, la maggior parte dei linguaggi si affidava a eccezioni e controlli a runtime, ma Elm ha scelto garanzie a tempo di compilazione. Alternative come Result
permettono di fornire informazioni dettagliate sugli errori, mentre Maybe
è più semplice per scenari di tipo sì-no. La gestione degli errori in Elm incoraggia gli sviluppatori a considerare tutti i percorsi anticipatamente, evitando le insidie dei casi di errore dimenticati.
Vedi anche:
- La sezione della guida ufficiale di Elm sulla gestione degli errori: Gestione degli Errori - Un’introduzione
- Documentazione Elm
Maybe
: Elm – Maybe - Documentazione Elm
Result
: Elm – Result