Sobes.tech
Intern

Cos'è un'eccezione?

sobes.tech AI

Risposta dell'AI

Un'eccezione è un evento che interrompe il normale flusso di esecuzione di un programma. Si verifica a causa di un errore o di una situazione imprevista.

Le eccezioni sono:

  • Controllate (Checked): richiedono gestione o dichiarazione nella firma del metodo (ad esempio, quando si lavora con file o reti).
  • Non controllate (Unchecked) o Eccezioni di runtime (RuntimeException): indicano generalmente errori nella logica del programma e non richiedono gestione esplicita (come divisione per zero o accesso fuori dai limiti dell'array).
  • Errori (Errors): rappresentano problemi gravi dai quali il programma di solito non si dovrebbe recuperare (ad esempio, mancanza di memoria).

Il meccanismo di gestione delle eccezioni permette di separare il codice che gestisce gli errori dal flusso logico principale del programma. Questo migliora la leggibilità e la manutenibilità del codice.

Per gestire le eccezioni si utilizzano blocchi try-catch-finally (in Java, C#) o strutture simili (try-except-finally in Python).

try {
    // Codice che può generare un'eccezione
    int result = 10 / 0; // ArithmeticException
} catch (ArithmeticException e) {
    // Gestione di un'eccezione specifica
    System.err.println("Errore: " + e.getMessage());
} catch (Exception e) {
    // Gestione di qualsiasi altra eccezione
    System.err.println("Si è verificato un errore imprevisto");
} finally {
    // Codice che viene eseguito indipendentemente dal fatto che si sia verificata un'eccezione
    System.out.println("Blocco finally eseguito");
}