... I wonder if once the program is deployed in production, isn't it also valid to simply log a warning and proceed the execution?
Risposta breve: No.
Ogni funzione che scrivi viene eseguita nel suo unico piccolo mondo che conosce solo i valori dell'argomento passati ad esso. Può solo cambiare o reinterpretare l'intenzione di quei valori se capisce il mondo "fuori" da se stesso meglio del codice che è in realtà "là fuori", passando quei valori oscuri. (Suggerimento: è improbabile)
... isn't it best to show some results than no results at all?
"Ci sono indicazioni che questo nucleo di reattore nucleare sia scappato e stia per iniziare a fondere il suo modo attraverso il pavimento? Hmm, questo sta richiedendo troppo tempo, tornerò semplicemente" OK ".
OK, un esempio un po 'faceto, ma in questo caso particolare, allora sì, in realtà importa che riporti tutti i giusti risultati. Si tratta di ciò che è considerato "abbastanza buono"?
Could a method that iterates over a collection, when passed a null value coerce it into an empty collection and effectively skip execution, instead of crashing?
E fare cosa?
Una scatola di cioccolatini è un insieme di zero o più confetterie; dato una scatola e un appetito abbastanza grande, puoi "iterare" attraverso tutti loro. Come puoi che se non ti viene nemmeno data la scatola?
Alla tua funzione è stato detto di aspettarsi una collezione ma non è stato passato nulla. È davvero un buon momento per far lanciare un'eccezione; in questo modo, il codice chiamante diventa responsabile della gestione del pasticcio che ha appena creato, trasmettendo dati errati (mancanti).
Or a method that receives a negative number coerce it into the minimum/maximum applicable value, instead of crashing?
Perché un numero negativo causerebbe un arresto anomalo? Forse è un indicizzatore in una matrice o lista? A meno che non ci sia un motivo commerciale per consentire valori negativi (e, ammettiamolo, potrebbe esserci), ecco un altro buon motivo per "passare il tempo" verso l'alto, di nuovo al codice chiamante, per gentile concessione di un'altra Eccezione.