Originariamente inviato da raff5184
1) dove inserisco la clausola
Codice PHP:
finally
{
      
pw.close();

finally, se presente, va messo sempre dopo tutti i catch.
Ma nota che quella variabile 'pw' l'hai dichiarato locale nel blocco del try. NON è visibile nel finally!!

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()??
Il codice nel blocco finally viene sempre eseguito, sia che venga lanciata una eccezione nel try, sia che non venga lanciata alcuna eccezione.

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).