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, vagytry-catchblokkban kell kezelni. - Ellenőrizetlen (unchecked) kivételek — ezek a
RuntimeExceptionésErrorleszá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.