A Java programozási nyelv fordítója a fordításkor ellenőrzi, hogy a program tartalmaz-e kezelőket az ellenőrzött kivételekhez, elemezve, hogy mely ellenőrzött kivételek származhatnak egy metódus, ill. konstruktőr. Minden egyes ellenőrzött kivétel esetén, amely lehetséges eredmény, a metódushoz tartozó dobások záradéka (§8.4.
Honnan tudja a fordító, hogy milyen típusú kivétel történik?
Ha kivétel fordul elő a programban, a fogási blokkokat egymás után felülről lefelé vizsgálja meg, hogy megtalálja az egyezést a kivétel típusa és a kivétel típusa között, amelyet a program fogásblokk kezeli.
Hogyan ellenőrzik a bejelölt kivételeket fordításkor?
2 Válaszok. A bejelölt kivételeket a fordításkor ellenőrzik, hogy megbizonyosodjon arról, hogy kezeli őket, vagy elkapásával, vagy a tartalmazó metódus deklarálása kivételt dob. Futás közben nincs különbség a bejelölt és a nem ellenőrzött kivételek között: a JVM azonosan kezeli.
Hogyan találhatom meg a bejelölt kivételeket?
- A ellenőrzött kivételt a fordító ellenőrzi, és programozóként a try-catch-finally, dobások segítségével kell kezelnie.
- ellenőrizetlen kivételt a fordító nem ellenőrzi, de opcionálisan kezelheti kifejezetten.
Elfoghatók a bejelölt kivételek?
3 Válaszok. A nem bejelölt kivételek olyan kivételek, amelyeket nem kell elkapni a try - catch blokkban. A nem bejelölt kivételek a RuntimeException vagy Error osztályok alosztályai. A bejelölt kivételek olyan kivételek, amelyeket a try - catch blokkban kell elkapni.