Algunos lenguajes de programación como, por ejemplo, Scala tienen el concepto de Optiontipos (también llamados Maybe), que pueden contener un valor o no.
Por lo que he leído sobre ellos, se los considera ampliamente como una forma superior de abordar este problema null, ya que obligan explícitamente al programador a considerar los casos en los que podría no haber un valor en lugar de explotar durante el tiempo de ejecución.
Las excepciones marcadas en Java, por otro lado, parecen considerarse una mala idea, y Java parece ser el único lenguaje ampliamente utilizado que las implementa. Pero la idea detrás de ellos parece ser algo similar al Optiontipo, para obligar explícitamente al programador a lidiar con el hecho de que se puede lanzar una excepción.
¿Hay algunos problemas adicionales con las excepciones marcadas que los Optiontipos no tienen? ¿O estas ideas no son tan similares como creo, y hay buenas razones para forzar el manejo explícito de las Opciones y no de las Excepciones?
Either e atipo de datos.