Eccezioni checked e unchecked
Comprendere la differenza tra eccezioni checked e unchecked in Java.
Eccezioni checked e unchecked è una lezione Java Academy gratuita su CoddyKit. Questa è la lezione 2 di 3. Puoi leggere la lezione completa qui gratuitamente — poi esercitati direttamente nel browser con un editor di codice integrato e un tutor IA disponibile 24/7. Fa parte del percorso di apprendimento Java Academy, e i tuoi progressi si sincronizzano tra il web e l'app CoddyKit. Il corso Java Academy include 3 lezioni in totale.
Introduzione
Le eccezioni Java appartengono a due famiglie: checked e unchecked. Conoscere la differenza aiuta a progettare correttamente i metodi.
Eccezioni checked
Le eccezioni checked estendono Exception (ma non RuntimeException). Il compilatore impone di gestirle o dichiararle con throws.
Codice: IOException checked
IOException è un'eccezione checked. È necessario intercettarla o dichiararla nella firma del metodo.
public class Main {
public static void main(String[] args) {
try {
java.io.FileReader fr = new java.io.FileReader("missing.txt"); // checked exception
fr.read();
fr.close();
} catch (java.io.IOException e) {
System.out.println("Handled IOException: " + e.getMessage());
}
}
}
Eccezioni unchecked
Le eccezioni unchecked estendono RuntimeException. Il compilatore non richiede di gestirle. Esempi: NullPointerException, ArithmeticException.
Codice: NPE unchecked
NullPointerException è un'eccezione unchecked. È possibile intercettarla, ma il compilatore non lo impone.
public class Main {
public static void main(String[] args) {
String s = null;
try {
System.out.println(s.length()); // unchecked exception
} catch (NullPointerException e) {
System.out.println("Caught NullPointerException");
}
}
}
Codice: dichiarazione throws
Le eccezioni checked possono essere dichiarate con throws. Chi chiama il metodo deve gestirle o propagarle.
public class Main {
static void risky() throws java.io.IOException {
throw new java.io.IOException("I/O problem");
}
public static void main(String[] args) {
try {
risky();
} catch (java.io.IOException e) {
System.out.println("Handled in main: " + e.getMessage());
}
}
}
Verifica: checked e unchecked
Verifica rapida: quale affermazione sulle eccezioni checked e unchecked è corretta?
Riepilogo
Riepilogo: le eccezioni checked (IOException) devono essere dichiarate o gestite. La gestione delle eccezioni unchecked (RuntimeException) è facoltativa.
Domande Frequenti
La lezione «Eccezioni checked e unchecked» è gratuita?
Sì — il testo completo di «Eccezioni checked e unchecked» è gratuito qui sul web. Per esercitarvi in modo interattivo (un editor di codice integrato e un tutor IA 24/7) e sbloccare il resto del corso Java Academy, passa a CoddyKit PRO. Il corso Java Academy include 3 lezioni in totale.
Cosa imparerò in «Eccezioni checked e unchecked»?
Comprendere la differenza tra eccezioni checked e unchecked in Java. Eserciti Java Academy con codice pratico che esegui direttamente nel browser, e un tutor IA 24/7 risponde alle tue domande mentre lavori sulla lezione.
Ho bisogno di esperienza per iniziare Java Academy?
Non è richiesta alcuna esperienza precedente. Java Academy su CoddyKit è strutturato per principianti e studenti avanzati, quindi puoi iniziare da qui o dall'inizio e procedere al tuo ritmo. Questa è la lezione 2 di 3.
Quanto tempo richiede la lezione «Eccezioni checked e unchecked»?
La maggior parte delle lezioni CoddyKit richiede circa 5–10 minuti. Ogni lezione è breve e interattiva, quindi fai progressi costanti e riprendi esattamente da dove hai lasciato su web e app.
Posso scrivere ed eseguire codice in questa lezione Java Academy?
Sì. Ogni lezione Java Academy include un editor di codice integrato, quindi scrivi ed esegui codice reale direttamente nel tuo browser e ricevi feedback istantaneo dall'IA — nessuna configurazione locale necessaria.
Tutte le lezioni di questo corso
- try/catch/finally
- Eccezioni checked e unchecked
- Lettura degli stack trace