View Single Post
Old 20-12-2009, 11:04   #8
PGI-Bis
Senior Member
 
L'Avatar di PGI-Bis
 
Iscritto dal: Nov 2004
Città: Tra Verona e Mantova
Messaggi: 4553
Nel catch scrivi:

ex.printStackTrace();

Ricompila ed esegui. Sulla console ti apparirà la traccia dell'eccezione.

Per la sua posizione nel codice, quel close non viene invocato se si verifica un'eccezione. La forma corretta è:

Codice:
FileOutputStream fout = null;
try {
    fout = new FileOutputStream(il file);
    ObjectOutputStream out = new ObjectOutputStream(fout);
    ...eccetera
} catch(IOException ex) {
    ...eccetera
} finally {
    if(fout != null) {
        try {
            fout.close();
        } catch(IOException ex) {
            ex.printStackTrace();
        }
    }
}
il blocco finally garantisce che fout.close() sia invocato a prescindere da ciò che capita nel blocco try.
__________________
Uilliam Scecspir ti fa un baffo? Gioffri Cioser era uno straccione? E allora blogga anche tu, in inglese come me!
PGI-Bis è offline   Rispondi citando il messaggio o parte di esso