EDIT: Gần đây tôi đang nhận được rất nhiều ý kiến trái chiều về vấn đề này ... vì vậy tôi nghĩ rằng tôi chỉ cần thêm một lưu ý rằng câu trả lời này đã được viết trước khi câu hỏi được chỉnh sửa gần đây nhất, trong đó trả về null được tô sáng như một tùy chọn .. .những gì có vẻ rất chấp nhận được. Một số câu trả lời của tôi đã được giải quyết cho những lo ngại như của Edwardo, trong các bình luận, người dường như đang ủng hộ việc trả lại 0. Đây là trường hợp tôi đã chống lại.
TRẢ LỜI: Tôi nghĩ có một vấn đề tiềm ẩn ở đây, đó là phép chia cho 0 là không hợp pháp. Đó là một dấu hiệu cho thấy một cái gì đó sai về cơ bản. Nếu bạn chia cho số 0, bạn đang cố gắng làm điều gì đó không có ý nghĩa về mặt toán học, do đó, không có câu trả lời số nào bạn có thể nhận được sẽ hợp lệ. (Sử dụng null trong trường hợp này là hợp lý, vì nó không phải là giá trị sẽ được sử dụng trong các phép tính toán học sau này).
Vì vậy, Edwardo hỏi trong các ý kiến "điều gì sẽ xảy ra nếu người dùng đặt số 0?", Và anh ta ủng hộ rằng việc lấy lại 0 sẽ không sao. Nếu người dùng đặt số 0 vào số tiền và bạn muốn trả về 0 khi họ làm điều đó, thì bạn nên đặt mã ở cấp quy tắc kinh doanh để bắt giá trị đó và trả về 0 ... không có trường hợp đặc biệt nào khi chia cho 0 = 0.
Đó là một sự khác biệt tinh tế, nhưng nó rất quan trọng ... bởi vì lần sau ai đó gọi hàm của bạn và hy vọng nó sẽ làm đúng, và nó làm một điều gì đó thú vị không đúng về mặt toán học, nhưng chỉ xử lý trường hợp cạnh cụ thể là nó có cơ hội tốt để cắn một ai đó sau này. Bạn không thực sự chia cho 0 ... bạn chỉ đang trả lời một câu trả lời xấu cho một câu hỏi xấu.
Hãy tưởng tượng tôi đang mã hóa một cái gì đó, và tôi làm hỏng nó lên. Tôi nên đọc giá trị tỷ lệ đo bức xạ, nhưng trong trường hợp cạnh lạ mà tôi không lường trước được, tôi đã đọc bằng 0. Sau đó tôi thả giá trị của mình vào hàm của bạn ... bạn trả về cho tôi 0! Hurrah, không bức xạ! Ngoại trừ nó thực sự ở đó và chỉ là tôi đã vượt qua một giá trị xấu ... nhưng tôi không biết. Tôi muốn phân chia để ném lỗi vì đó là cờ rằng có gì đó không đúng.