finally, se presente, va messo sempre dopo tutti i catch.Originariamente inviato da raff5184
1) dove inserisco la clausola
Codice PHP:
finally
{
pw.close();
}
Ma nota che quella variabile 'pw' l'hai dichiarato locale nel blocco del try. NON è visibile nel finally!!
Il codice nel blocco finally viene sempre eseguito, sia che venga lanciata una eccezione nel try, sia che non venga lanciata alcuna eccezione.Originariamente inviato da raff5184
2) se inserisco da qualche parte il codice con finally e, mettiamo che venga lanciata e catturata un'eccezione FileNotFoundException, non si verifica un errore in quanto pw non può invocare il metodo close()??
Comunque ti va bene, perché close() di PrintWriter non lancia eccezioni checked.
EDIT: anzi ... invece di chiudere il PrintWriter, dovresti chiudere lo Scanner (e nemmeno close() di Scanner lancia eccezioni checked).