Sobes.tech
Junior — Middle

È possibile catturare eccezioni che non sono dichiarate esplicitamente nel codice?

sobes.tech AI

Risposta dell'AI

Sì, in Java è possibile catturare eccezioni che non sono esplicitamente dichiarate nel codice. In Java ci sono due tipi di eccezioni:

  • Eccezioni controllate (checked) — devono essere dichiarate nella firma del metodo con throws o gestite in un blocco try-catch.
  • Eccezioni non controllate (unchecked) — sono sottoclassi di RuntimeException e Error. Non è necessario dichiararle e possono essere catturate, anche se di solito non vengono gestite specificamente.

Ad esempio, si può catturare qualsiasi eccezione con catch (Exception e), anche se non dichiarata nel metodo:

try {
    // codice che può generare un'eccezione
} catch (Exception e) {
    // gestione di qualsiasi eccezione
}

In questo modo, si possono catturare tutte le eccezioni, ma per le eccezioni controllate, il compilatore richiede di dichiararle o gestirle.