Sobes.tech
Junior — Middle

Lehet-e olyan kivételeket elkapni, amelyeket nem deklaráltak kifejezetten a kódban?

sobes.tech MI

Válasz az MI-től

Igen, Java-ban lehet olyan kivételeket elkapni, amelyek nincsenek kifejezetten deklarálva a kódban. Java-ban két típusú kivétel létezik:

  • Ellenőrzött (checked) kivételek — ezeket vagy throws-szal kell deklarálni a metódus aláírásában, vagy try-catch blokkban kell kezelni.
  • Ellenőrizetlen (unchecked) kivételek — ezek a RuntimeException és Error leszármazottai. Nem kell őket deklarálni, és el lehet őket kapni, bár általában nem kezelik őket külön.

Például, bármilyen kivételt el lehet kapni catch (Exception e)-vel, még akkor is, ha nem szerepel a metódus deklarációjában:

try {
    // kód, ami kivételt dobhat
} catch (Exception e) {
    // bármilyen kivétel kezelése
}

Így bármilyen kivétel elkapására lehetőség van, de ellenőrzött kivételeknél a fordító megköveteli azok deklarálását vagy kezelését.