Per quanto riguarda come lo hai utilizzato mi pare che sia tutto a posto...del resto il concetto è semplice:
Per quanto riguarda il nidificare try e catch lo trovo inutile , perche in ogni caso l'esecuzione dell'intero blocco sarebbe interrotta in caso di errore durante il caricamento della connessionecodice:try{ //codice che può generare eccezioni, //le quali eccezioni sei interessato a gestire nel metodo corrente } catch (Eccezione){ //cosa devo fare se qualcosa va storto - il blocco try viene interrotto nel punto che ha generato l'eccezione } finally{//questo viene eseguito sempre, dopo i rispettivi try&catch}
voglio dire, se tu scrivi
try{conn = blablabal; try{statement blablabla;} catch(...){}}catch(...)
nel tuo caso è la stessa cosa di scrivere
try{TUTTO} catch(TUTTO) {}
io in genere faccio cosi, alla fine per distinguere tra le varie eccezioni puoi fare una cosa di questo tipo:
catch (Throwable ex) {
if (ex instanceof SQLException) //gestione
if (ex instanceof IOException) //gestione
}
Diversamente, devi nidificare per forza quando in una catch sei costretto ad usare un metodo che a sua volta può generare un altra eccezione

Rispondi quotando