Saya sedang mengembangkan bahasa pemrograman baru untuk menyelesaikan beberapa persyaratan bisnis, dan bahasa ini ditargetkan untuk pengguna pemula. Jadi tidak ada dukungan untuk penanganan pengecualian dalam bahasa, dan saya tidak akan mengharapkan mereka untuk menggunakannya bahkan jika saya menambahkannya.
Saya telah mencapai titik di mana saya harus mengimplementasikan operator pembagian, dan saya bertanya-tanya bagaimana cara terbaik menangani pembagian dengan nol kesalahan?
Sepertinya saya hanya memiliki tiga cara yang mungkin untuk menangani kasus ini.
- Abaikan kesalahan dan hasilkan
0
sebagai hasilnya. Jika memungkinkan, mencatat peringatan. - Tambahkan
NaN
sebagai nilai yang mungkin untuk angka, tetapi itu menimbulkan pertanyaan tentang bagaimana menanganiNaN
nilai di bidang lain bahasa. - Hentikan pelaksanaan program dan laporkan kepada pengguna kesalahan parah terjadi.
Opsi # 1 tampaknya satu-satunya solusi yang masuk akal. Opsi # 3 tidak praktis karena bahasa ini akan digunakan untuk menjalankan logika sebagai cron malam.
Apa alternatif saya untuk menangani kesenjangan dengan nol kesalahan, dan apa risiko dengan opsi # 1.
reject "Foo"
itu diterapkan, tetapi hanya bahwa ia menolak dokumen jika mengandung kata kunci Foo
. Saya mencoba membuat bahasa menjadi mudah dibaca dengan menggunakan istilah yang biasa digunakan pengguna. Memberikan pengguna bahasa pemrograman mereka sendiri memberdayakan mereka untuk menambahkan aturan bisnis tanpa tergantung pada staf teknis.