Il costrutto try .... catch ...
permette di gestire le eccezioni dovute ad anomalie durante l'esecuzione del programma.
La sintassi è la seguente:
try { ... sequenza di istruzioni, contenente istruzioni a rischio di eccezione ... } catch(tipoEccezione1 ecc) { // ecc e' semplicemente un identificatore scelto dall'utente istruzioni da eseguire in caso di eccezione di tipo 1 } catch(tipoEccezione2 ecc) { // ecc e' semplicemente un identificatore scelto dall'utente istruzioni da eseguire in caso di eccezione di tipo 2 } catch(tipoEccezione3 ecc) { // ecc e' semplicemente un identificatore scelto dall'utente istruzioni da eseguire in caso di eccezione di tipo 1 } finally { istruzioni da eseguire in ogni caso dopo il blocco try o eventualmente dopo la gestione della eccezione }
Vengono eseguite le istruzioni contenute nel blocco try
.
Se durante la esecuzione si verifica una eccezione allora, invece di interrompere il programma con una segnalazione di errore,
viene interrotto semplicemente il blocco try
e si passa alla esecuzione del
blocco catch
corrispondente al tipo della eccezione che si è verificata.
Ad esempio, poiché durante la conversione eseguita dal metodo Integer.parseInt(...)
si può verificare una
eccezione di tipo NumberFormatException
, si
try { n = Integer.parseInt(JOptionPane.showInputDialog(messaggio)); } catch(NumberFormatException e) { JOptionPane.showMessageDialog(null, "Attenzione, puoi scrivere solo cifre!"); }