Sobes.tech
Junior — Middle

Spiega la struttura della gerarchia delle eccezioni in Java e le loro caratteristiche

sobes.tech AI

Risposta dell'AI

In Java, la gerarchia delle eccezioni si basa sulla classe Throwable, che ha due sottoclassi principali:

  • Error — errori legati alla macchina virtuale (ad esempio, OutOfMemoryError), generalmente non gestiti nel codice.
  • Exception — eccezioni che possono e devono essere gestite.

A loro volta, Exception si divide in:

  • Eccezioni controllate (Checked exceptions) — richiedono una gestione obbligatoria o una dichiarazione nella firma del metodo (ad esempio, IOException).
  • Eccezioni non controllate (Unchecked exceptions) — ereditano da RuntimeException (ad esempio, NullPointerException), non richiedono gestione obbligatoria.

Caratteristiche:

  • Le eccezioni controllate obbligano il programmatore a gestire esplicitamente gli errori, aumentando l'affidabilità.
  • Le eccezioni non controllate di solito indicano errori di programmazione.

Esempio:

try {
    // codice che può generare IOException
} catch (IOException e) {
    e.printStackTrace();
}

In questo modo, la gerarchia delle eccezioni aiuta a strutturare la gestione degli errori e a distinguere tra diversi tipi di problemi.