Recentemente ho partecipato a un colloquio di lavoro e mi è stato dato l'incarico di scrivere un metodo semplice in C # per calcolare quando i treni si incontrano. Il codice era semplice equazione matematica. Quello che ho fatto è stato che ho controllato tutti i parametri all'inizio del metodo per assicurarmi che il codice non fallisse.
La mia domanda è: è meglio controllare i parametri, o usare try / catch?
Ecco i miei pensieri:
- Prova / cattura è più breve
- Try / catch funzionerà sempre anche se ti dimentichi di qualche condizione
- Catch è lento in .NET
- I parametri di test sono probabilmente codice più pulito (le eccezioni dovrebbero essere eccezionali)
- I parametri di test ti offrono un maggiore controllo sui valori di ritorno
Preferirei testare i parametri in metodi più lunghi di +/- 10 righe, ma cosa ne pensi di usare try / catch in metodi semplici proprio come questo - cioè return (a*b)/(c+d);
Ci sono molte domande simili su stackexchnage, ma sono interessato a questo particolare scenario.