Eccezioni checked e unchecked in java

Il sistema di gestione delle eccezioni in java (exception handling) prevede la loro suddivisione in due tipologie così sintetizzabili:

  1. checked: esprimono eccezioni che si riferiscono a condizioni recuperabili e che quindi possono essere gestite dal metodo chiamante;
  2. unchecked: esprimono condizioni non recuperabili, generalmente dovute ad errori di programmazione e quindi non gestibili dal metodo chiamante.

Esempio di eccezioni java del primo tipo sono IOException e FileNotFoundException. Il client è in grado di gestirli ad esempio prospettandole all’utente che può quindi intervenire. Per creare una eccezione di questo tipo è necessario estendere java.lang.Exception.

Per questo tipo di eccezioni il compilatore richiede la loro gestione o attraverso l’utilizzo di un blocco try...catch oppure differendo la gestione al metodo chiamante attraverso la clausola trows.

Esempi di eccezioni del secondo tipo sono, invece, NullPointerException o IndexOutOfBoundsException. Il client non può fare nulla per gestire l’eccezione  che può essere eliminata solamente programmaticamente, ad esempio testando i valori nulli prima di utilizzarli. Per creare una eccezione unchecked è necessario estendere java.lang.RuntimeException.

Per queste tipologie di eccezione il compilatore non ne richiede la gestione, l’utilizzo del blocco try...catch è infatti opzionale.

How useful was this post?

Click on a star to rate it!

Average rating 4.2 / 5. Vote count: 16

No votes so far! Be the first to rate this post.

As you found this post useful...

Follow us on social media!