Scalaなどの一部のプログラミング言語には、値を含む場合と含まない場合があるOption
型(とも呼ばれるMaybe
)の概念があります。
それらについて私が読んだことから、彼らは広くこの問題に対処するより優れた方法であると考えられていますnull
。なぜなら、ランタイム中に単に爆発するのではなく、値がない場合を考慮するようにプログラマーに明示的に強制するためです。
一方、Javaでチェックされた例外は悪い考えと見なされるようで、Javaはそれらを実装する唯一の広く使用されている言語のようです。しかし、その背後にある考え方Option
は、例外がスローされる可能性があるという事実にプログラマーに明示的に対処させるために、型にいくらか似ているようです。
Option
型にないチェック済み例外には、いくつかの追加の問題がありますか?または、これらのアイデアは私が思うほど似ていないのか、例外ではなくオプションの明示的な処理を強制する正当な理由がありますか?
Either e a
データ型も参照してください。