Concetti Chiave
- Le eccezioni Java gestiscono condizioni anomale che interrompono il normale flusso di un programma, come errori di programmazione o malfunzionamenti di sistema.
- Se un'eccezione non viene catturata, i metodi che non sanno gestirla si interrompono fino al metodo main, causando potenzialmente l'arresto dell'applicazione.
- Le eccezioni controllate sono errori prevedibili causati dall'errato utilizzo dell'applicazione da parte dell'utente, come FileNotFound o divisione per zero.
- Le eccezioni incontrollate derivano dalla scarsa abilità del programmatore e includono errori come NullPointerException, IndexOutOfBoundException e ArithmeticException.
- Le eccezioni sono oggetti "throwable" della libreria java.lang.Exception, una sottoclasse di java.lang.Throwable, che ne definisce la struttura e il comportamento.
Le eccezioni Java sono utilizzate in quelle situazioni in cui sia necessario gestire condizioni anomale. Generalmente le eccezioni sono degli eventi che si scatenano durante l’esecuzione di un programma, causando l’interruzione del normale flusso di operazioni (ad esempio errori di programmazione come la divisione per zero o il malfunzionamento del sistema come un’errata connessione).
Nel caso in cui l’eccezione non sia sta catturata (Exception Catching) allora ogni metodo che non sappia gestire l’eccezione viene interrotto nel punto in cui aveva chiamato il metodo che sta propagando l’errore. Se la propagazione dell’errore avviene fino al metodo main allora l’applicazione si interrompe in maniera incontrollata.
Eccezioni Controllate e Incontrollate
Le eccezioni sono oggetti “throwable” racchiuse nella libreria java.lang.Exception, sottoclasse di java.lang.Throwable. Le eccezioni si dividono in Eccezioni Controllate ed Eccezioni Incontrollate.
Le Eccezioni Controllate costituiscono errori che dipendono dall’errato utilizzo dell’applicazione da parte dell’utente. Per questo motivo il programmatore deve prevedere il comportamento dell’utente e lanciare l’eccezione affinché tutto proceda bene anche se l’applicazione viene usata erroneamente. Un esempio è il FileNotFound o la divisione per zero da parte dell’utente.
Le Eccezioni Incontrollate sono invece errori dovuti alla scarsa abilità del programmatore. Tra queste vi sono numerose eccezioni predefinite da Java come:
- .NullPointerException = uso di un oggetto nullo ossia quando cerchiamo di fare un accesso illegale ad un oggetto null;
- .IndexOutOfBoundException = uso di indici errati per accedere a dati contenuti in strutture dati ordinate;
- .ArithmeticException = operazione aritmetica non consentita;