Gestione delle eccezioni

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!");
			}