In questo tutorial, impareremo le eccezioni in Java. Tratteremo errori, eccezioni e diversi tipi di eccezioni in Java.
Un'eccezione è un evento imprevisto che si verifica durante l'esecuzione del programma. Influisce sul flusso delle istruzioni del programma che possono causare la chiusura anomala del programma.
Un'eccezione può verificarsi per molti motivi. Alcuni di loro sono:
- Input dell'utente non valido
- Errore del dispositivo
- Perdita di connessione di rete
- Limitazioni fisiche (memoria su disco esaurita)
- Errori di codice
- Apertura di un file non disponibile
Gerarchia delle eccezioni Java
Di seguito è riportato un diagramma semplificato della gerarchia delle eccezioni in Java.
Come puoi vedere dall'immagine sopra, la Throwable
classe è la classe radice nella gerarchia.
Notare che la gerarchia si divide in due rami: Errore ed Eccezione.
Errori
Gli errori rappresentano condizioni irrecuperabili come Java virtual machine (JVM) che esaurisce la memoria, perdite di memoria, errori di overflow dello stack, incompatibilità della libreria, ricorsione infinita, ecc.
Gli errori sono solitamente al di fuori del controllo del programmatore e non dovremmo provare a gestirli.
Eccezioni
Le eccezioni possono essere rilevate e gestite dal programma.
Quando si verifica un'eccezione all'interno di un metodo, crea un oggetto. Questo oggetto è chiamato oggetto eccezione.
Contiene informazioni sull'eccezione come il nome e la descrizione dell'eccezione e lo stato del programma quando si è verificata l'eccezione.
Impareremo come gestire queste eccezioni nel prossimo tutorial. In questo tutorial, ci concentreremo ora su diversi tipi di eccezioni in Java.
Tipi di eccezione Java
La gerarchia delle eccezioni ha anche due rami: RuntimeException
e IOException
.
1. RuntimeException
Si verifica un'eccezione di runtime a causa di un errore di programmazione. Sono noti anche come eccezioni non verificate .
Queste eccezioni non vengono verificate in fase di compilazione ma in fase di esecuzione. Alcune delle eccezioni di runtime comuni sono:
- Uso improprio di un'API -
IllegalArgumentException
- Accesso a puntatore nullo (manca l'inizializzazione di una variabile) -
NullPointerException
- Accesso all'array fuori limite -
ArrayIndexOutOfBoundsException
- Dividere un numero per 0 -
ArithmeticException
Puoi pensarci in questo modo. "Se è un'eccezione di runtime, è colpa tua".
Non si NullPointerException
sarebbe verificato se avessi controllato se la variabile era stata inizializzata o meno prima di usarla.
Un ArrayIndexOutOfBoundsException
non si sarebbe verificata se avete provato l'indice dell'array contro i limiti dell'array.
2. IOException
An IOException
è anche noto come eccezione controllata . Sono controllati dal compilatore in fase di compilazione e al programmatore viene richiesto di gestire queste eccezioni.
Alcuni degli esempi di eccezioni verificate sono:
- Il tentativo di aprire un file che non esiste risulta in
FileNotFoundException
- Tentativo di leggere oltre la fine di un file
Ora che conosciamo le eccezioni, impareremo come gestire le eccezioni nel prossimo tutorial.