però anche a me succede spesso... e ho notato che nel tuo sorgente non esiste un
try {
............
} catch (Exception e) {
.........
}

questa istruzione permette di catturare le eccezioni... ed alcune istrizioni richiedono di essere messe dentro un try...

Io di solito apro il try all'inizio e lo chiudo alla fine. nel catch ci metto sempre un System.err.println("Errore : " + e.getMessage());