- La gestione delle eccezioni
- Vantaggio della gestione delle eccezioni
- Gerarchia delle classi di eccezioni
- Tipi di eccezione
- Esempio di eccezione
- Scenari in cui può verificarsi un'eccezione
IL Gestione delle eccezioni in Java è uno dei potenti meccanismo per gestire gli errori di runtime in modo da poter mantenere il normale flusso della domanda.
In questo tutorial impareremo le eccezioni Java, i suoi tipi e la differenza tra eccezioni selezionate e non selezionate.
cambiare il nome della directory linux
Cos'è 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 è per mantenere il normale flusso della domanda . Un'eccezione normalmente interrompe il normale flusso dell'applicazione; ecco perché dobbiamo gestire le eccezioni. Consideriamo uno scenario:
statement 1; statement 2; statement 3; statement 4; statement 5;//exception occurs statement 6; statement 7; statement 8; statement 9; statement 10;
Supponiamo che ci siano 10 istruzioni in un programma Java e che si verifichi un'eccezione nell'istruzione 5; il resto del codice non verrà eseguito, ovvero le istruzioni da 6 a 10 non verranno eseguite. Tuttavia, quando eseguiamo la gestione delle eccezioni, verrà eseguito il resto delle istruzioni. Questo è il motivo per cui utilizziamo la gestione delle eccezioni in Giava .
Sai?
|
Gerarchia delle classi di eccezioni Java
La classe java.lang.Throwable è la classe radice della gerarchia Java Exception ereditata da due sottoclassi: Exception ed Error. La gerarchia delle classi di eccezioni Java è riportata di seguito:
Tipi di eccezioni Java
Esistono principalmente due tipi di eccezioni: selezionate e non selezionate. Un errore è considerato un'eccezione non verificata. Tuttavia, secondo Oracle, esistono tre tipi di eccezioni:
- Eccezione controllata
- Eccezione non controllata
- Errore
Differenza tra eccezioni controllate e non controllate
1) Eccezione controllata
Le classi che ereditano direttamente la classe Throwable, ad eccezione di RuntimeException ed Error, sono note come eccezioni controllate. Ad esempio, IOException, SQLException, ecc. Le eccezioni controllate vengono controllate in fase di compilazione.
2) Eccezione non controllata
Le classi che ereditano RuntimeException sono note come eccezioni non controllate. Ad esempio, ArithmeticException, NullPointerException, ArrayIndexOutOfBoundsException, ecc. Le eccezioni non controllate non vengono controllate in fase di compilazione, ma vengono controllate in fase di runtime.
3) Errore
L'errore è irrecuperabile. Alcuni esempi di errori sono OutOfMemoryError, VirtualMachineError, AssertionError ecc.
Parole chiave di eccezione Java
Java fornisce cinque parole chiave utilizzate per gestire l'eccezione. La tabella seguente descrive ciascuno di essi.
Parola chiave | Descrizione |
---|---|
Tentativo | La parola chiave 'try' viene utilizzata per specificare un blocco in cui dovremmo inserire un codice di eccezione. Significa che non possiamo usare try block da solo. Il blocco try deve essere seguito da catch o infine. |
presa | Il blocco 'catch' viene utilizzato per gestire l'eccezione. Deve essere preceduto da try block, il che significa che non possiamo usare solo catch block. Può essere seguito da un blocco definitivo più tardi. |
Finalmente | Il blocco 'finalmente' viene utilizzato per eseguire il codice necessario del programma. Viene eseguito indipendentemente dal fatto che un'eccezione venga gestita o meno. |
gettare | La parola chiave 'throw' viene utilizzata per generare un'eccezione. |
lancia | La parola chiave 'throws' viene utilizzata per dichiarare eccezioni. Specifica che potrebbe verificarsi un'eccezione nel metodo. Non genera un'eccezione. Viene sempre utilizzato con la firma del metodo. |
Esempio di gestione delle eccezioni Java
Vediamo un esempio di gestione delle eccezioni Java in cui utilizziamo un'istruzione try-catch per gestire l'eccezione.
JavaExceptionExample.java
public class JavaExceptionExample{ public static void main(String args[]){ try{ //code that may raise exception int data=100/0; }catch(ArithmeticException e){System.out.println(e);} //rest code of the program System.out.println('rest of the code...'); } }Provalo adesso
Produzione:
Exception in thread main java.lang.ArithmeticException:/ by zero rest of the code...
Nell'esempio precedente, 100/0 solleva un'ArithmeticException gestita da un blocco try-catch.
Scenari comuni di eccezioni Java
Vengono forniti alcuni scenari in cui possono verificarsi eccezioni non controllate. Sono i seguenti:
1) Uno scenario in cui si verifica ArithmeticException
Se dividiamo un numero qualsiasi per zero, si verifica un'ArithmeticException.
int a=50/0;//ArithmeticException
2) Uno scenario in cui si verifica NullPointerException
Se abbiamo un valore nullo in any variabile , l'esecuzione di qualsiasi operazione sulla variabile genera una NullPointerException.
String s=null; System.out.println(s.length());//NullPointerException
3) Uno scenario in cui si verifica NumberFormatException
Se la formattazione di qualsiasi variabile o numero non corrisponde, potrebbe verificarsi NumberFormatException. Supponiamo di avere a corda variabile che ha caratteri; la conversione di questa variabile in cifre causerà NumberFormatException.
String s='abc'; int i=Integer.parseInt(s);//NumberFormatException
4) Uno scenario in cui si verifica ArrayIndexOutOfBoundsException
Quando un array supera le sue dimensioni, si verifica l'ArrayIndexOutOfBoundsException. potrebbero esserci altri motivi per verificarsi ArrayIndexOutOfBoundsException. Considera le seguenti affermazioni.
int a[]=new int[5]; a[10]=50; //ArrayIndexOutOfBoundsException
Indice delle eccezioni Java
- Blocco Try-Catch Java
- Blocco di cattura multipla Java
- Prova nidificata Java
- Java finalmente bloccato
- Parola chiave Java
- Propagazione delle eccezioni Java
- Java genera una parola chiave
- Lancio Java vs Lancio
- Java Finale vs Finalmente vs Finalizza
- Gestione delle eccezioni Java con overriding del metodo
- Eccezioni personalizzate Java