一些编程语言(例如Scala)具有Option
类型(也称为Maybe
)的概念,可以包含值也可以不包含值。
根据我对它们的了解,与相比null
,它们被广泛认为是处理此问题的一种更好的方法,因为它们明确地迫使程序员考虑可能没有值的情况,而不仅仅是在运行时崩溃。
另一方面,Java中的Checked Exception似乎被认为是一个坏主意,Java似乎是实现它们的唯一被广泛使用的语言。但是它们背后的想法似乎与该Option
类型有些相似,以明确地迫使程序员处理可能引发异常的事实。
Option
类型所没有的Checked Exception还有其他问题吗?还是这些想法与我想的不一样,并且有充分的理由强制对Option而不是对Exception进行显式处理?
Either e a
数据类型。