Einige Programmiersprachen wie zB Scala haben das Konzept von Option
Typen (auch als Maybe
), die entweder einen Wert enthalten können oder nicht.
Nach dem, was ich über sie gelesen habe, werden sie allgemein als überlegene Lösung für dieses Problem angesehen null
, da sie den Programmierer ausdrücklich dazu zwingen, die Fälle zu berücksichtigen, in denen es möglicherweise keinen Wert gibt, anstatt nur zur Laufzeit in die Luft zu jagen.
Checked Exceptions in Java scheinen dagegen eine schlechte Idee zu sein, und Java scheint die einzige weit verbreitete Sprache zu sein, die sie implementiert. Die Idee, die dahinter steckt, ähnelt der Idee Option
, den Programmierer explizit zu zwingen, sich mit der Tatsache auseinanderzusetzen, dass eine Ausnahme ausgelöst werden könnte.
Gibt es zusätzliche Probleme mit aktivierten Ausnahmen, die Option
Typen nicht haben? Oder sind diese Ideen nicht so ähnlich, wie ich denke, und es gibt gute Gründe, die explizite Behandlung für Optionen und nicht für Ausnahmen zu erzwingen?
Either e a
Datentyp.