13.-as előadás Flashcards
Mi az a kivétel?
Olyan esemény amely a program futása következik be, és a normális működést felborítja.
Hogyan lehet kezelni a kivételt?
Amikor egy metódus kivételt dob, a futtató rendszer megprobálja azt kezelni. Metódusok közül válogat amely a call stack-ben van. Ha megtalálja az expetion handler-t akkor a futtató rendszer átadja azt a handler-nek. Akkor jó, ha az exception objekt típusa megegyezik azzal amit a handler tud kezelni. Megpróbáljuk elkapni a kivételt, ha nem megy akkor a futtató rendszer megállítja a folyamatot.
A kivételeknek mi a 3 alapvető kategóriája? Melyikről mit kell tudni?
- Checked exception: Olyan kivételi helyzet amit várunk és kezelünk. Minden kivétel checked ha nem Error, RuntimeException vagy ezek alosztálya.
- Error: Olyan kivételi helyzet amely kívülről érkezik, és gyakran nem várható és nem kezelhető.
- Runtime exception: Olyan helyzet ami a programban van, de nem tudunk rá felkészülni, és nem tudjuk kezelni.
Hogy néz ki a try-catch-finally utasítás, és melyik része mit csinál?
try {
A kód amit megpróbálunk futtatni, és hibára futhat.
} catch (ExceptionType name) {
Ide jöhet egy message, hogy mit írjon ki a System.err.out()-ra, vagy loggoljuk. Az excep.Type-nak olyan típusnak kell lennie, ami a Throwable class subclassa.
} finaly {
Ez a blokk akkor is lefut ha nem volt kivétel. Tisztításra szolgál.
}
Mit csinál a try-with-resource utasítás?
Olyankor kell használni amikor file-t zárunk be, vagy erőforrásokat szabadítunk fel.
Autómatikusan szabadít fel rendszer-erőforrásokat, amikor azokra nincsen tovább szükség.
Hogyan lehet kivételt dobni?
A throw statement-el dobhatunk kivételt. Egy argumentuma van ami egy dobható objektum.Ezek pedig példányai a Throwable classnak.
Hogyan hozhatunk létre Java kivétel osztályokat?
Good practice, hogy ha egy Exception class beli osztályt hozunk létre a nevébe beleírjuk az Exception szót.
class NegativeNumberException extends Exception{
Public NegativeNumberException(String message) {
super(message);
}
}