Niektóre języki programowania, takie jak np. Scala, mają pojęcie Option
typów (zwanych także Maybe
), które mogą zawierać wartość lub nie.
Z tego, co o nich czytałem, są one powszechnie uważane za lepszy sposób radzenia sobie z tym problemem niż null
, ponieważ wyraźnie zmuszają programistę do rozważenia przypadków, w których może nie być żadnej wartości zamiast po prostu wysadzenia w powietrze w czasie wykonywania.
Z drugiej strony sprawdzone wyjątki w Javie wydają się być złym pomysłem, a Java wydaje się być jedynym powszechnie używanym językiem, który je implementuje. Ale idea za nimi wydaje się być nieco podobna do Option
typu, aby wyraźnie zmusić programistę do radzenia sobie z faktem, że może zostać zgłoszony wyjątek.
Czy są jakieś dodatkowe problemy z zaznaczonymi wyjątkami, Option
których nie mają typy? Czy te pomysły nie są tak podobne, jak myślę, i istnieją uzasadnione powody, aby wymuszać jawną obsługę Opcji, a nie wyjątków?
Either e a
typ danych.