Ho letto un tale metodo:Dovremmo sempre catturare un'eccezione, avvolgerla e trasmetterla?
public void doSomething throws MyException{
...
try {
doSomthingElse();
} catch (MyException e){
log.errer(e.getMessage());
throw new MyException(e.getMessage(),e);
}
...
}
Ma io preferisco:
public void doSomething throws MyException{
...
doSomthingElse();
...
}
Chiunque conosce alcuna ragione per il primo metodo? Esiste un solo tipo di Eccezione, e non è gestito in questo metodo, c'è qualche ragione per prenderlo, avvolgerlo senza nuove informazioni, e poi passarlo in su? Perché non scriverlo solo nel secondo modo? Grazie!
Perché tutti hanno la sensazione di dover rilevare eccezioni? Non prendere cose che non puoi * fare nulla con *. Le eccezioni automaticamente riempiono lo stack se non le tocchi. Non c'è assolutamente alcun motivo per * rilanciarli * (e così facendo ha conseguenze negative, come perdere informazioni preziose). E se * puoi * fare qualcosa con l'eccezione, beh, stai confinando con sospetto sul territorio dell'utilizzo di eccezioni per il controllo del flusso, cosa che probabilmente non dovresti fare in primo luogo. –