La gestione delle eccezioni in Java è uno dei potenti meccanismi per gestire gli errori di runtime in modo che il normale flusso dell’applicazione possa essere mantenuto.
In questa pagina, impareremo a conoscere le eccezioni Java, il suo tipo e la differenza tra eccezioni controllate e non controllate.
Qual è l’eccezione in Java
Significato del dizionario: L’eccezione è una condizione anormale.
In Java, un’eccezione è un evento che interrompe il normale flusso del programma., È un oggetto che viene lanciato in fase di esecuzione.
Cos’è la gestione delle eccezioni
La gestione delle eccezioni è un meccanismo per gestire errori di runtime come ClassNotFoundException, IOException, SQLException, RemoteException, ecc.
Vantaggio della gestione delle eccezioni
Il vantaggio principale della gestione delle eccezioni è quello di mantenere il flusso normale dell’applicazione. Un’eccezione normalmente interrompe il normale flusso dell’applicazione, motivo per cui utilizziamo la gestione delle eccezioni., Prendiamo uno scenario:
Supponiamo che ci siano 10 istruzioni nel tuo programma e si verifica un’eccezione all’istruzione 5, il resto del codice non verrà eseguito cioè l’istruzione da 6 a 10 non verrà eseguita. Se eseguiamo la gestione delle eccezioni, verrà eseguito il resto dell’istruzione. Questo è il motivo per cui usiamo la gestione delle eccezioni in Java.
Lo sai?
- Qual è la differenza tra eccezioni controllate e non controllate?
- Cosa succede dietro il codice int data = 50/0;?
- Perché usare più blocchi di cattura?,
- C’è qualche possibilità quando finalmente il blocco non viene eseguito?
- Che cos’è la propagazione delle eccezioni?
- Qual è la differenza tra la parola chiave throw e throws?
- Quali sono le 4 regole per l’utilizzo della gestione delle eccezioni con l’override del metodo?
Gerarchia delle classi di eccezione Java
java.lang.La classe Throwable è la classe radice della gerarchia delle eccezioni Java ereditata da due sottoclassi: Exception ed Error., Di seguito è riportata una gerarchia di classi di eccezioni Java:
Tipi di eccezioni Java
Esistono principalmente due tipi di eccezioni: selezionate e deselezionate. Qui, un errore è considerato come l’eccezione non selezionata., According to Oracle, there are three types of exceptions:
- Checked Exception
- Unchecked Exception
- Error
Difference between Checked and Unchecked Exceptions
1) Checked Exception
The classes which directly inherit Throwable class except RuntimeException and Error are known as checked exceptions e.g. IOException, SQLException etc. Checked exceptions are checked at compile-time.
2) Unchecked Exception
The classes which inherit RuntimeException are known as unchecked exceptions e.g., ArithmeticException, NullPointerException, ArrayIndexOutOfBoundsException ecc. Le eccezioni deselezionate non vengono controllate in fase di compilazione, ma vengono controllate in fase di runtime.
3) Errore
L’errore è irrecuperabile, ad esempio OutOfMemoryError, VirtualMachineError, AssertionError ecc.
Java Exception Keywords
Ci sono 5 parole chiave che vengono utilizzate nella gestione delle eccezioni in Java.
Parola chiave | Descrizione |
---|---|
try | La parola chiave “try” viene utilizzata per specificare un blocco in cui inserire il codice di eccezione., Il blocco try deve essere seguito da catch o finally. Significa che non possiamo usare il blocco try da solo. |
catch | Il blocco “catch” viene utilizzato per gestire l’eccezione. Deve essere preceduto dal blocco try, il che significa che non possiamo usare il blocco catch da solo. Può essere seguito da finalmente bloccare più tardi. |
finally | Il blocco “finally” viene utilizzato per eseguire il codice importante del programma. Viene eseguito se un’eccezione viene gestita o meno. |
throw | La parola chiave “throw” viene utilizzata per lanciare un’eccezione., |
getta | La parola chiave “getta” viene utilizzata per dichiarare eccezioni. Non genera un’eccezione. Specifica che potrebbe verificarsi un’eccezione nel metodo. Viene sempre utilizzato con la firma del metodo. |
Esempio di gestione delle eccezioni Java
Vediamo un esempio di gestione delle eccezioni Java in cui usiamo un’istruzione try-catch per gestire l’eccezione.
Testalo ora
Output:
Exception in thread main java.lang.ArithmeticException:/ by zerorest of the code...
Nell’esempio precedente, 100/0 solleva un’eccezione ArithmeticException che viene gestita da un blocco try-catch.,
Scenari comuni di eccezioni Java
Vengono forniti alcuni scenari in cui possono verificarsi eccezioni non selezionate. Sono i seguenti:
1) Uno scenario in cui si verifica ArithmeticException
Se dividiamo qualsiasi numero per zero, si verifica un’ArithmeticException.
2) Uno scenario in cui si verifica NullPointerException
Se abbiamo un valore null in qualsiasi variabile, l’esecuzione di qualsiasi operazione sulla variabile genera una NullPointerException.,
3) Uno scenario in cui si verifica NumberFormatException
La formattazione errata di qualsiasi valore può verificarsi NumberFormatException. Supponiamo di avere una variabile stringa con caratteri, convertendo questa variabile in cifre si verificherà NumberFormatException.,re ArrayIndexOutOfBoundsException si verifica
Se si sta inserendo un valore indice errato, sarebbe risultato in ArrayIndexOutOfBoundsException come mostrato di seguito:
Eccezioni Java Indice
- Java Blocco Try-Catch
- Java Più Blocco Catch
- Java Nidificati Prova
- Java, Infine, il Blocco
- Java parola Chiave Throw
- Java Eccezione di Propagazione
- Java Genera parola Chiave
- Java Buttare vs Lancia
- Java Finale vs Infine vs Finalizzare
- Java la Gestione delle Eccezioni con l’Override dei metodi
- Java le Eccezioni Personalizzate