Junior
Mi az a kivételkezelés Pythonban?
sobes.tech MI
Válasz az MI-től
A kivételkezelés Pythonban egy mechanizmus arra, hogy elfogjuk és reagáljunk olyan hibákra vagy eseményekre, amelyek megszakítják a program normál végrehajtását.
A try...except...finally vagy try...except...else...finally blokkokat használjuk.
try:
# Kód, amely kivételt okozhat
result = 10 / 0
except ZeroDivisionError:
# Konkrét kivétel kezelése
print("Hiba: nullával való osztás!")
except Exception as e:
# Bármilyen más kivétel kezelése
print(f"Hiba történt: {e}")
else:
# Akkor fut le, ha nem volt kivétel a try blokkban
print("Sikeres művelet.")
finally:
# Mindig lefut, függetlenül a kivételtől
print("Finally blokk végrehajtva.")
Fő összetevők:
try: Kódblokk, ahol egy lehetséges kivétel várható.except: Kódblokk, amely akkor fut le, ha egy adott típusú kivétel történik atry-ban. Többexceptblokk is használható különböző kivételtípusokra.else: (Opcionális) Kódblokk, amely akkor fut le, ha nem történt kivétel atry-ban.finally: (Opcionális) Kódblokk, amely mindig lefut, függetlenül attól, hogy volt-e kivétel vagy sem. Gyakran erőforrásokat szabadít fel (pl. fájlok bezárása).raise: Kulcsszó, amellyel kifejezetten kivételt dobhatunk.
def divide(a, b):
if b == 0:
raise ValueError("A nevező nem lehet nulla")
return a / b
try:
divide(10, 0)
except ValueError as e:
print(f"Egyéni kivétel kezelése: {e}")
Előnyei:
- Növeli a program megbízhatóságát.
- Elkülöníti a hibát okozó kódot.
- Tisztábbá teszi a normál végrehajtási logika és a hibakezelő logika szétválasztását.