Sobes.tech
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 v try. Môžu sa použiť viaceré except pre rôzne typy výnimiek.
  • else: (Voliteľné) Blok kódu, ktorý sa vykoná, ak v try nebola ž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.