Un'eccezione è un errore di runtime. Esistono due tipi di eccezioni note come eccezioni controllate e non controllate. Quando si verifica un'eccezione verificata, l'applicazione Java è connessa a una risorsa esterna come un file, un dispositivo o un database. Queste eccezioni sono controllate dal compilatore. Alcuni esempi di eccezioni controllate sono l'eccezione IO e l'eccezione FileNotFound. Quando si verifica un'eccezione non verificata, l'applicazione non è connessa a nessuna risorsa esterna. Queste eccezioni non sono controllate dal compilatore. Alcuni esempi di eccezioni non verificate sono Arithmetic Exception e ArrayOutOfBound Exception. Questo articolo discute la differenza tra l'eccezione selezionata e non controllata in Java. Il differenza fondamentale tra l'eccezione selezionata e non controllata in Java è quella un'eccezione controllata viene verificata dal compilatore mentre un'eccezione non controllata non viene controllata dal compilatore.
1. Panoramica e differenza chiave
2. Cosa è Eccezione controllata in Java
3. Cos'è l'eccezione non selezionata in Java
4. Somiglianze tra l'eccezione controllata e non verificata in Java
5. Confronto affiancato - Verifica con eccezione non selezionata in Java in formato tabulare
6. Sommario
Quando si verifica un'eccezione verificata, l'applicazione Java è connessa a una risorsa esterna. Questa risorsa può essere un dispositivo come una stampante. Può essere un file o un database. Pertanto, quelle eccezioni sono controllate dal compilatore. L'eccezione IO è un'eccezione controllata. Si verifica a causa di un errore nel dispositivo. Quando l'applicazione accede a un file che non esiste, causerà un'eccezione FileNotFound. Un'applicazione può essere collegata a un database come MySQL, Oracle ecc. Per memorizzare i dati. Se si è verificato un errore relativo a un database, si tratterebbe di un'eccezione SQL. Questi sono alcuni esempi di eccezioni controllate. In tutti questi, l'applicazione è connessa a una risorsa esterna. In eccezioni controllate, è obbligatorio gestire l'eccezione. Se non viene gestito, il flusso corretto del programma verrà terminato e il file di classe non verrà generato. L'errore può essere gestito usando try, catch block.
Figura 01: gestione delle eccezioni controllate
Secondo quanto sopra, FileReader legge i dati dal file. Il file text1.txt non esiste nella posizione specificata. Il codice che può dare l'eccezione è collocato all'interno del blocco try. Il messaggio da stampare è all'interno del blocco catch. Poiché non esiste un file chiamato text1.txt, ciò provoca una eccezione FileNotFoundException. Usando la gestione delle eccezioni, il messaggio viene stampato sullo schermo.
Le eccezioni non controllate non sono controllate dal compilatore. A differenza delle eccezioni controllate, con eccezioni non controllate, l'applicazione Java non è connessa a una risorsa esterna come file, database o dispositivo. Alcune eccezioni non controllate comuni sono Aritmetica, ArrayOutOfBound e NullPointer Exceptions.
int a = 10, b = 0;
int div = a / b;
System.out.println (div);
Ciò causerà un'eccezione aritmetica a causa dell'immersione "a" di zero. Fare riferimento al codice seguente.
Figura 02: Gestione delle eccezioni aritmetiche
Secondo il programma precedente, la variabile a è un valore intero. La variabile b è 0. La divisione di questi due numeri è una divisione per zero. Pertanto, causerà un'eccezione aritmetica. Può essere gestito utilizzando il blocco try-catch. Le istruzioni che possono causare l'eccezione sono posizionate all'interno del blocco try. Il messaggio da visualizzare si trova nel blocco catch.
Fare riferimento al seguente pezzo del codice.
int array1 [] = 1,2,3,4,5;
System.out.println (array1 [5]);
Ciò causerà un'eccezione. L'array1 è un array con 5 elementi. L'indice iniziale dell'array è zero. Stampa del 5esimo il valore dell'indice causa un'eccezione perché è fuori limite. L'indice massimo dell'array1 è 4.
Figura 03: Gestione delle eccezioni ArrayOutOfBound
Secondo il programma di cui sopra, l'array1 ha 5 elementi. Stampare l'elemento con l'indice 6 causerà un'eccezione perché è fuori limite. L'indice massimo che può essere memorizzato in array1 è 5. Il messaggio di errore viene stampato eseguendo il blocco catch.
Controllato vs Eccezione non verificata in Java | |
Un'eccezione controllata è un errore di runtime che viene controllato dal compilatore. | Un'eccezione non controllata è un errore di runtime non controllato dal compilatore. |
avvenimento | |
Quando si verifica un'eccezione verificata, l'applicazione Java è connessa a una risorsa esterna come file, dispositivo o database. | Quando si verifica un'eccezione non verificata, l'applicazione Java non è connessa a una risorsa esterna. |
Esempi | |
IOException, FileNotFoundException, SQLException sono alcuni esempi di eccezioni controllate. | L'eccezione aritmetica, ArrayOutOfBoundException, NullPointerException sono alcuni esempi di eccezioni non controllate. |
Un'eccezione è un evento che interrompe l'esecuzione del flusso del programma. Esistono due tipi di eccezioni. Si chiamano eccezioni controllate e eccezioni non controllate. Questo articolo ha discusso la differenza tra un'eccezione controllata e le eccezioni non controllate. La differenza tra l'eccezione selezionata e non controllata in Java è che un'eccezione controllata viene verificata dal compilatore mentre un'eccezione non controllata non viene controllata dal compilatore. Poiché le eccezioni influiscono sul corretto flusso di esecuzione del programma, è una buona pratica di programmazione gestirle.
1. Punto, esercitazioni. "Eccezioni Java"., Punto tutorial, 8 gennaio 2018. Disponibile qui
2.nareshtechnologies. Controllato vs Eccezione non verificata || Domande frequenti su Core Java Video, Naresh i Technologies, 31 dicembre 2016. Disponibile qui