Alcuni linguaggi di programmazione come ad esempio Scala hanno il concetto di Optiontipi (chiamato anche Maybe), che può contenere un valore oppure no.
Da quello che ho letto su di loro sono considerati ampiamente come un modo superiore di affrontare questo problema rispetto a null, perché costringono esplicitamente il programmatore a considerare i casi in cui potrebbe non esserci un valore invece di esplodere durante il runtime.
D'altra parte, le Eccezioni verificate in Java sembrano essere considerate una cattiva idea e Java sembra essere l'unico linguaggio ampiamente utilizzato che le implementa. Ma l'idea dietro di loro sembra essere in qualche modo simile al Optiontipo, per forzare esplicitamente il programmatore a gestire il fatto che potrebbe essere generata un'eccezione.
Ci sono altri problemi con le eccezioni selezionate che i Optiontipi non hanno? Oppure queste idee non sono così simili come penso, e ci sono buone ragioni per forzare la gestione esplicita delle Opzioni e non delle Eccezioni?
Either e atipo di dati.