Il Try/Catch e' obbligatorio per tutte le exception che estendono Exception , mentre per le exception che estendono RuntimeException non e' necessario , ma e' buona norma farlo.
Come gia' detto esistono sia il try/catch che il throws/throw
, quest'ultimo non fa altro che rimandare l'exception al chiamante del metodo.
L'uso dell'uno o dell'altro dipende dalla struttura del programma A volte e' necessario gestire direttamente l'exception altre no.
L'SQLException estende Exception e deve essere obbligatoriamente catturata con uno dei due metodi

Ciauz