Junior
Čo je spracovanie výnimiek v Pythone?
sobes.tech AI
Odpoveď od AI
Spracovanie výnimiek v Pythone je mechanizmus na zachytávanie a reakciu na chyby alebo udalosti, ktoré narušujú normálne vykonávanie programu.
Používa sa blok try...except...finally alebo try...except...else...finally.
try:
# Kód, ktorý môže spôsobiť výnimku
result = 10 / 0
except ZeroDivisionError:
# Spracovanie konkrétnej výnimky
print("Chyba: delenie nulou!")
except Exception as e:
# Spracovanie akejkoľvek inej výnimky
print(f"Vyskytla sa chyba: {e}")
else:
# Spustí sa, ak v bloku try neboli žiadne výnimky
print("Operácia úspešne dokončená.")
finally:
# Vždy sa spustí, bez ohľadu na výnimky
print("Blok finally bol vykonaný.")
Hlavné komponenty:
try: Blok kódu, v ktorom sa očakáva možná výnimka.except: Blok kódu, ktorý sa vykoná, keď nastane určitý typ výnimky vtry. Môžu sa použiť viaceréexceptpre rôzne typy výnimiek.else: (Voliteľné) Blok kódu, ktorý sa vykoná, ak vtrynebola žiadna výnimka.finally: (Voliteľné) Blok kódu, ktorý sa vždy vykoná, bez ohľadu na to, či došlo k výnimke alebo nie. Často sa používa na uvoľnenie zdrojov (napríklad zatváranie súborov).raise: Kľúčové slovo na explicitné vyvolanie výnimky.
def divide(a, b):
if b == 0:
raise ValueError("Delenie nulou nie je povolené")
return a / b
try:
divide(10, 0)
except ValueError as e:
print(f"Spracovanie vlastnej výnimky: {e}")
Výhody:
- Zvyšuje spoľahlivosť programu.
- Izoluje kód, ktorý môže spôsobiť chyby.
- Umožňuje čistejšie oddelenie normálnej logiky vykonávania od logiky spracovania chýb.