Riempiersi di try-catch è inutile in quanto nella maggior parte dei casi l'eccezione non è correggibile nel posto in cui viene lanciata.
Io in genere mi regolo in questo modo:
1 - se il problema lo posso correggere (o aggirare) subito, try-catch (es: parse di una stringa in numero, se la stringa non è un numero valido metto di default 0 e vado avanti (se la logica del programma lo permette ovviamente))
2 - se il problema non può essere corretto nel metodo stesso rilancio l'eccezione (eventualmente wrappata in un'altra, per spiegare meglio cosa è successo) e lascio al chiamante la patata bollente
3 - se il problema del punto 2 usa risorse esterne è utile usare try-finally (senza catch) in modo da chiudere eventuali risorse che altrimenti resterebbero appese.
Nei casi 2 e 3 il chiamante farà lo stesso ragionamento fino a che non si arriva a qualcuno in grado di gestire l'eccezione. In ufficio spesso usiamo AOP per questo.

Rispondi quotando