Alcuni linguaggi di programmazione come ad esempio Scala hanno il concetto di Option
tipi (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 Option
tipo, 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 Option
tipi 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 a
tipo di dati.