EDIT: Recentemente sto ricevendo molti voti negativi su questo ... quindi ho pensato di aggiungere solo una nota che questa risposta è stata scritta prima che la domanda subisse la sua modifica più recente, in cui il ritorno di null era evidenziato come un'opzione .. .che sembra molto accettabile. Una parte della mia risposta è stata indirizzata a preoccupazioni come quella di Edwardo, nei commenti, che sembravano sostenere la restituzione di uno 0. Questo è il caso contro cui mi sono opposto.
RISPOSTA: Penso che ci sia un problema di fondo qui, che è che la divisione per 0 non è legale. È un'indicazione che qualcosa è fondamentalmente sbagliato. Se stai dividendo per zero, stai provando a fare qualcosa che non ha senso matematicamente, quindi nessuna risposta numerica che puoi ottenere sarà valida. (L'uso di null in questo caso è ragionevole, in quanto non è un valore che verrà utilizzato nei calcoli matematici successivi).
Quindi Edwardo nei commenti "cosa succede se l'utente inserisce uno 0?", E sostiene che dovrebbe essere corretto ottenere uno 0 in cambio. Se l'utente inserisce zero nell'importo e si desidera che venga restituito 0 quando lo fanno, è necessario inserire il codice a livello delle regole aziendali per acquisire quel valore e restituire 0 ... non avere un caso speciale in cui la divisione per 0 = 0.
Questa è una differenza sottile, ma è importante ... perché la prossima volta che qualcuno chiama la tua funzione e si aspetta che faccia la cosa giusta, e fa qualcosa di funky che non è matematicamente corretto, ma gestisce solo il caso limite particolare che ha un buone possibilità di mordere qualcuno più tardi. Non stai davvero dividendo per 0 ... stai solo restituendo una cattiva risposta a una cattiva domanda.
Immagina di codificare qualcosa e di rovinarlo. Dovrei leggere in un valore di ridimensionamento della misurazione della radiazione, ma in uno strano caso limite non ho previsto, ho letto in 0. Quindi trascino il mio valore nella tua funzione ... mi restituisci uno 0! Evviva, nessuna radiazione! Solo che è davvero lì ed è solo che stavo passando un valore negativo ... ma non ne ho idea. Voglio che la divisione lanci l'errore perché è la bandiera che qualcosa non va.