La gestione delle eccezioni in Java è uno dei potenti meccanismi per gestire errori specifici che si presentano in una sequenza di codice in fase di runtime. Un'eccezione non è altro che un errore di runtime che interrompe il normale flusso dell'applicazione.
Normalmente si verifica in un pezzo di codice e quando lo fa, viene creato un oggetto che rappresenta quell'eccezione gettato nel metodo che l'ha causato. Di conseguenza, il programma o l'applicazione viene interrotta causando l'interruzione anomala dell'applicazione, operazione che non è consigliata. Questo è il motivo per cui queste eccezioni devono essere gestite e questo è il punto in cui il meccanismo di gestione delle eccezioni arriva all'immagine.
Esistono due tipi di eccezioni che esistono in Java: Eccezioni controllate e non selezionate. In questo articolo, discuteremo in dettaglio cosa è l'eccezione selezionata e non controllata e quando usarli e, infine, vedremo la differenza tra i due.
Queste sono le eccezioni che vengono controllate e gestite in fase di compilazione. Java definisce diverse classi di eccezioni all'interno del pacchetto standard java.lang, e le eccezioni più comuni sono sottoclassi del tipo standard RuntimeException.
Quelle eccezioni che si verificano in aree al di fuori del controllo immediato del programma sono note come eccezioni controllate. Se un metodo getta un'eccezione controllata al momento della compilazione che non può gestirlo da sé, quindi deve gestire l'eccezione in a catturare bloccare o dichiarare l'eccezione usando il getta parola chiave, altrimenti darà un errore di compilazione. Il compilatore esamina il tipo di oggetto di eccezione per ciascuno gettare dichiarazione e se viene mostrato, il compilatore controlla il codice sorgente per assicurarsi che l'eccezione sia gestita nel metodo in cui viene lanciata o dichiarata in modo che possa essere gestita ulteriormente.
Tutte le eccezioni descritte da Eccezione quali sono le sue sottoclassi dirette ad eccezione di RuntimeException si chiamano eccezioni controllate. Ora quando usare l'eccezione verificata? È possibile scegliere di utilizzare un'eccezione controllata quando si sa esattamente cosa fare quando un Eccezione si verifica o quando le probabilità di fallimento sono più. Alcuni esempi di eccezioni controllate nella libreria Java includono IOException, DataAccessException, IllegalAccessException, InterruptedException, ClassNotFoundException, InvocationTargetException, ecc..
Queste sono le eccezioni che non vengono controllate in fase di compilazione. L'Eccezione deselezionata rappresenta una condizione che generalmente riflette errori nella logica di un programma e che non può essere recuperata da runtime.
In termini semplici, l'eccezione non controllata è un'eccezione che non viene rilevata in a prova a prendere bloccare. Non hanno bisogno di essere catturati in modo esplicito. Infatti, quando si verifica un'eccezione non controllata, Java gestisce automaticamente l'eccezione. Le eccezioni non controllate si verificano principalmente a causa di errori di programmazione come quando si accede a un elemento al di fuori di un legame di array o al metodo di accesso di un oggetto nullo. In Java, tutte le eccezioni sotto gettare sono eccezioni controllate, mentre le eccezioni che sono sottoclassi dirette di Errore e RuntimeException sono eccezioni non controllate.
La parte migliore di un'eccezione non controllata è che non riduce la leggibilità del codice mantenendo il codice del client pulito. Alcuni esempi di eccezioni non controllate includono ArithmeticException, ClassCastException, NullPointerException, ArrayIndexOutOfBound, IllegalArgumentException, IllegalStateException, ArrayStoreException, SecurityException, ecc..
Eccezione controllata e non verificata esistono due tipi di eccezioni in Java per garantire il normale flusso dell'applicazione. Entrambi hanno lo stesso scopo di gestire le eccezioni in Java e, sebbene non vi siano differenze di funzionalità, non esiste una singola regola per determinare quando utilizzare controllato e quando utilizzare un'eccezione non controllata. Checked Exception è un'eccezione che viene verificata al momento della compilazione, mentre l'eccezione Unchecked è quella che non viene verificata al momento della compilazione.
Un'eccezione verificata si riferisce agli scenari non validi che si verificano al di fuori del controllo immediato del programma mentre l'eccezione non controllata si riferisce agli errori nel programma o ai bachi nella logica del programma che non possono essere recuperati da runtime.
Se un metodo genera un'eccezione controllata, il compilatore verificherà se il metodo sta gestendo quell'eccezione usando il blocco try-catch o specificando l'eccezione usando la parola chiave throws. Se il metodo non fornisce il codice di gestione, verrà visualizzato un errore di compilazione. Al contrario, il programma viene compilato correttamente perché il compilatore non controlla le Eccezioni non selezionate al momento della compilazione.
Le eccezioni non derivate da RunTimeException vengono spesso gestite mentre raramente le eccezioni si verificano durante il runtime. Un'eccezione verificata si verifica quando le probabilità di errore sono troppo elevate. L'eccezione non verificata, d'altra parte, si verifica principalmente a causa di errori di programmazione. Tutte le eccezioni in RuntimeException e Error class sono eccezioni non controllate, mentre tutto il resto in throwable sono eccezioni controllate.
Alcuni esempi di eccezioni controllate sono IOException, DataAccessException, IllegalAccessException, InterruptedException, ClassNotFoundException e altro. Esempi di eccezioni non controllate includono NullPointerException, ArithmeticException, ArrayIndexOutOfBound, IllegalArgumentException, IllegalStateException, ArrayStoreException, SecurityException, ecc..
Eccezione selezionata e deselezionata sono i due tipi di eccezioni esistenti in Java. Mentre la funzionalità è la stessa per entrambe le eccezioni, hanno la loro giusta quota di differenze. La differenza principale tra le eccezioni controllate e non controllate è che il primo è controllato dal compilatore mentre il secondo sfugge all'avviso del compilatore. Le eccezioni che vengono controllate e gestite in fase di compilazione sono eccezioni controllate, mentre le eccezioni che non sono controllate e gestite in fase di compilazione sono eccezioni non controllate. Questo articolo spiega cosa viene controllato e cosa è un'eccezione non controllata, quando usarli e spiega la differenza tra i due.