Kivételkezelés¶
- Elkapás
- Dobás
Bevezetés¶
- A kivételek lehetőséget biztosítanak, hogy a programhiba eseteén ne álljon le a kód működése.
- Különböző hibatípusokat "elkapunk" és ezekre reagálunk.
- Szükség esetén saját hibát "dobunk" a felhasználó részére.
Elkapás¶
Próbáljuk ki az alábbi kódot és nézzük meg, hogy mi történik!
Futtatás után az alábbi hibaüzenetet kapjuk
Próbáljuk ki az alábbi kódot és nézzük meg, hogy mi történik!
Futtatás után az alábbi hibaüzenetet kapjuk
Szerkezeti felépítés¶
- A try blokk lehetővi teszi, hogy teszteljük a kódblokk hibákat keresve.
- Az except blokk lehetővé teszi a hiba kezelését (elkapását).
- Az else blokk lehetővé teszi a kód futtatását, ha nincs hiba.
- A finally blokk lehetővé teszi a kód végrehajtását, függetlenül a try és except blokkok eredményétől.
try-except¶
try-except-else¶
Az else blokk lehetővé teszi a kód futtatását, ha nincs hiba.
try-except-else-finally¶
A finally blokk lehetővé teszi a kód végrehajtását, függetlenül a try és except blokkok eredményétől.
Adott hiba elkapása¶
Lehetőségünk van csak egy adott hibát elkapni, amelyeknek különböző fajtái vannak. Pár példa:
NameError
: hibás/nem létező változónévZeroDivisionError
: nullával való osztás hibaSyntaxError
: szintaxis hibaTypeError
: típus hibaValueError
: érték hibaFileNotFoundError
: nem létező fájl
Megadott hiba elkapása példa¶
Több megadott hiba elkapása példa¶
Amennyiben egymás alá több exceptet adunk meg, úgy lehetőségünk van minden egyes hibát másképp kezelni.
Valós példa fájl megnyitása esetén¶
Dobás¶
Általános kivétel dobás¶
Python fejlesztőként dönthetünk úgy, hogy kivételt dobunk, ha egy feltétel előfordul.
Kivétel dobáshoz (vagy emeléséhez) a raise kulcsszót használjuk.