Beberapa bahasa pemrograman seperti misalnya Scala memiliki konsep Option
tipe (juga disebut Maybe
), yang dapat mengandung nilai atau tidak.
Dari apa yang saya baca tentang mereka, mereka dianggap secara luas sebagai cara terbaik untuk menangani masalah ini daripada null
, karena mereka secara eksplisit memaksa programmer untuk mempertimbangkan kasus-kasus di mana mungkin tidak ada nilai daripada hanya meledak saat runtime.
Pengecualian yang diperiksa di Jawa di sisi lain tampaknya dianggap ide yang buruk, dan Jawa tampaknya menjadi satu-satunya bahasa yang digunakan secara luas yang mengimplementasikannya. Tetapi ide di balik mereka tampaknya agak mirip dengan Option
tipe, untuk secara eksplisit memaksa programmer untuk berurusan dengan fakta bahwa pengecualian mungkin dilemparkan.
Apakah ada beberapa masalah tambahan dengan Pengecualian yang diperiksa yang Option
tidak dimiliki tipe? Atau apakah ide-ide ini tidak sama dengan yang saya pikirkan, dan ada alasan bagus untuk memaksa penanganan eksplisit untuk Opsi dan bukan untuk Pengecualian?
Either e a
tipe data.