Elm:
Gestion des erreurs
Comment faire :
La philosophie centrale d’Elm est Pas d’Exceptions à l’Exécution. Donc, Elm tire parti de son système de types avec des types tels que Maybe
et Result
pour gérer les erreurs.
Pour le scénario Maybe
:
safeDivide : Float -> Float -> Maybe Float
safeDivide numerator denominator =
if denominator == 0 then
Nothing
else
Just (numerator / denominator)
-- Lorsque vous l'exécutez :
safeDivide 10 2
--> Just 5
safeDivide 10 0
--> Nothing
Pour le scénario Result
:
type Error = DivisionByZero
safeDivide : Float -> Float -> Result Error Float
safeDivide numerator denominator =
if denominator == 0 then
Err DivisionByZero
else
Ok (numerator / denominator)
-- Et en l'utilisant :
safeDivide 10 2
--> Ok 5
safeDivide 10 0
--> Err DivisionByZero
Plongée approfondie
Le système de types d’Elm est strict, ce qui aide à détecter les erreurs tôt. Historiquement, la plupart des langages se reposaient sur des exceptions et des vérifications à l’exécution, mais Elm a choisi des garanties au moment de la compilation. Des alternatives comme Result
permettent une information détaillée sur les erreurs, tandis que Maybe
est plus simple pour les scénarios oui-non. La gestion des erreurs par Elm encourage les développeurs à envisager toutes les voies dès le départ, évitant les pièges des cas d’erreurs oubliés.
Voir aussi :
- La section du guide officiel d’Elm sur la gestion des erreurs : Gestion des Erreurs – Une Introduction
- Documentation Elm
Maybe
: Elm – Maybe - Documentation Elm
Result
: Elm – Result