ภาษาการเขียนโปรแกรมบางอย่างเช่น Scala มีแนวคิดของOptionประเภท (เรียกอีกอย่างว่าMaybe) ซึ่งสามารถมีค่าหรือไม่
จากสิ่งที่ฉันได้อ่านเกี่ยวกับพวกเขาพวกเขาได้รับการพิจารณาอย่างกว้างขวางว่าเป็นวิธีที่ดีกว่าในการจัดการกับปัญหานี้มากกว่าnullเพราะพวกเขาบังคับให้โปรแกรมเมอร์พิจารณากรณีที่อาจไม่มีค่าแทนที่จะระเบิดในระหว่างรันไทม์
การตรวจสอบข้อยกเว้นใน Java ในทางกลับกันดูเหมือนจะถือว่าเป็นความคิดที่ไม่ดีและ Java ดูเหมือนจะเป็นภาษาที่ใช้กันอย่างแพร่หลายเท่านั้นที่ใช้พวกเขา แต่แนวคิดที่อยู่เบื้องหลังพวกเขาดูเหมือนจะค่อนข้างคล้ายกับOptionประเภทเพื่อบังคับให้โปรแกรมเมอร์จัดการกับข้อเท็จจริงที่ว่าอาจมีข้อยกเว้นเกิดขึ้น
มีปัญหาเพิ่มเติมเกี่ยวกับข้อยกเว้นที่ตรวจสอบแล้วซึ่งOptionประเภทไม่มีหรือไม่ หรือแนวคิดเหล่านี้ไม่เหมือนกันอย่างที่ฉันคิดและมีเหตุผลที่ดีในการบังคับให้จัดการอย่างชัดเจนสำหรับตัวเลือกไม่ใช่สำหรับข้อยกเว้น?
Either e aประเภทข้อมูล