EDIT: Saya mendapatkan banyak downvotes tentang ini baru-baru ini ... jadi saya pikir saya hanya akan menambahkan catatan bahwa jawaban ini ditulis sebelum pertanyaan menjalani edit terakhir, di mana pengembalian null disorot sebagai pilihan .. .yang tampaknya sangat bisa diterima. Beberapa jawaban saya ditujukan kepada keprihatinan seperti itu dari Edwardo, dalam komentar, yang tampaknya menganjurkan pengembalian 0. Ini adalah kasus saya menentang.
JAWABAN: Saya pikir ada masalah mendasar di sini, yaitu pembagian dengan 0 tidak legal. Ini merupakan indikasi bahwa ada sesuatu yang secara fundamental salah. Jika Anda membaginya dengan nol, Anda mencoba melakukan sesuatu yang tidak masuk akal secara matematis, sehingga tidak ada jawaban numerik yang Anda dapatkan akan valid. (Penggunaan nol dalam kasus ini masuk akal, karena ini bukan nilai yang akan digunakan dalam perhitungan matematika nanti).
Jadi Edwardo bertanya di komentar "bagaimana jika pengguna memasukkan 0?", Dan dia menganjurkan bahwa tidak apa-apa untuk mendapatkan 0 sebagai balasan. Jika pengguna memasukkan nol dalam jumlah, dan Anda ingin 0 dikembalikan ketika mereka melakukan itu, maka Anda harus memasukkan kode pada tingkat aturan bisnis untuk menangkap nilai itu dan mengembalikan 0 ... tidak memiliki kasus khusus di mana pembagian dengan 0 = 0.
Itu perbedaan yang halus, tetapi ini penting ... karena ketika seseorang memanggil fungsi Anda dan mengharapkannya untuk melakukan hal yang benar, dan itu melakukan sesuatu yang funky yang tidak benar secara matematis, tetapi hanya menangani kasing tepi tertentu itu punya peluang bagus untuk menggigit seseorang nanti. Anda tidak benar-benar membaginya dengan 0 ... Anda hanya mengembalikan jawaban yang buruk ke pertanyaan yang buruk.
Bayangkan saya sedang mengkode sesuatu, dan saya mengacaukannya. Saya seharusnya membaca nilai skala pengukuran radiasi, tetapi dalam kasus tepi aneh yang tidak saya antisipasi, saya baca di 0. Saya kemudian menjatuhkan nilai saya ke dalam fungsi Anda ... Anda mengembalikan saya 0! Hore, tidak ada radiasi! Kecuali itu benar-benar ada dan hanya saja saya melewati nilai buruk ... tapi saya tidak tahu. Saya ingin divisi untuk melempar kesalahan karena itu adalah bendera bahwa ada sesuatu yang salah.