Migliore comprensione su Checked vs. Eccezioni non controllate: come gestire le eccezioni in modo migliore in Java?

Pubblicato: 2014-09-15

Eccezione verificata da Java di Crunchify

Eccezione controllata

Che cos'è l'eccezione verificata nel linguaggio di programmazione Java. In un linguaggio semplice: Eccezione che viene verificata in fase di compilazione denominata Eccezione verificata. Alcuni di questi sono menzionati di seguito. Se nel tuo codice se alcuni dei metodi generano checked exception , quindi il metodo deve handle the exception o deve specificare l'eccezione utilizzando la parola chiave throws .

  1. IOException
  2. SQLException
  3. DataAccessException
  4. ClassNotFoundException
  5. InvocationTargetException
  6. MalformedURLException

Diamo un'occhiata all'esempio:

Nell'esempio seguente otterremo i contenuti del sito "Crunchify.com" e lo stamperemo nella console. Durante questa operazione, il programma Java genererà MalformedURLException o IOException nelle righe sotto evidenziate.

Ci sono due modi per risolvere questo problema. Add throws clause OPPURE Add Try, Catch block al tuo codice per risolverlo. Ecco un codice aggiornato.

  1. Modifica le righe 16 e 20 e aggiunge throws IOException
  2. Aggiungi try catch block su 26,42,43

Eccezione non selezionata

Le eccezioni deselezionate in Java sono quelle eccezioni la cui gestione NOT verified during Compile time . Queste eccezioni si verificano a causa di una cattiva programmazione.

Il programma non darà un errore di compilazione.

Tutte le eccezioni Unchecked sono sottoclassi dirette della classe RuntimeException .

Simple Example : hai creato un modulo online che accetta l'input dell'utente. È un modulo di testo libero. L'uso può inserire qualsiasi valore errato in caso di campo e-mail o campo nome utente O campo numero di telefono.

Se non si dispone della convalida lato client, ci sono più possibilità di ottenere l'eccezione di convalida di runtime durante l'esecuzione dell'applicazione in produzione. L'errore può essere generato dall'operazione DB o dalla conversione del campo da un formato all'altro.

Di seguito sono riportati i tipi di eccezioni non selezionate:

  • NullPointerException
  • ArrayIndex OutOfBound
  • IllegalArgumentException
  • IllegalStateException

Quello che più mi infastidisce è NullPointer Exception. Ho scritto un articolo dettagliato su NPE la scorsa settimana.

Ci sono in totale 8 diversi suggerimenti forniti per evitare NPE.

Java Checked Vs Unchecked Eccezione - Crunchify

ArrayIndexOutofBoundException - Suggerimenti per Crunchify

In Java 7, puoi gestire più eccezioni in un singolo Catch block . È possibile modificare la riga 13 dalla riga sopra modificata alla riga inferiore.

In sintesi, sia l'eccezione verificata che quella non verificata vengono gestite utilizzando la parola chiave try, catch e finally .

In termini di funzionalità verificata e eccezione non verificata sono gli stessi.