Certains langages de programmation comme par exemple Scala ont le concept de Option
types (également appelés Maybe
), qui peuvent contenir ou non une valeur.
D'après ce que j'ai lu à leur sujet, ils sont largement considérés comme un moyen supérieur de traiter ce problème null
, car ils forcent explicitement le programmeur à considérer les cas où il pourrait ne pas y avoir de valeur au lieu de simplement exploser pendant l'exécution.
Les exceptions vérifiées en Java semblent en revanche être considérées comme une mauvaise idée, et Java semble être le seul langage largement utilisé qui les implémente. Mais l'idée derrière eux semble être quelque peu similaire au Option
type, pour forcer explicitement le programmeur à faire face au fait qu'une exception pourrait être levée.
Existe-t-il des problèmes supplémentaires avec les exceptions cochées que les Option
types n'ont pas? Ou ces idées ne sont-elles pas aussi similaires que je le pense, et il y a de bonnes raisons de forcer une gestion explicite des options et non des exceptions?
Either e a
type de données.