Sobes.tech
Junior

Hogyan emeljük újra a kivételt az except blokkban?

sobes.tech MI

Válasz az MI-től

Az except blokkban kezelt kivétel újrafelveteléhez elegendő a raise kulcsszó argumentumok nélkül történő használata. Ez lehetővé teszi a kivétel továbbítását a hívási verem felső irányába a except blokk végrehajtása után.

try:
    # Kód, amely kivételt okozhat
    result = 1 / 0
except ZeroDivisionError as e:
    # Kivétel kezelése (pl. naplózás)
    print(f"Nullával való osztás hiba: {e}")
    # Újra dobás
    raise

Ha más kivételt kell dobni vagy információt hozzáadni a jelenlegihez, használhatja a raise exception from current_exception szintaxist.

try:
    # Kód, amely kivételt okozhat
    data = {}
    value = data['key']
except KeyError as e:
    # KeyError kivétel elfogása
    print(f"Hozzáférési hiba kulcs szerint: {e}")
    # Új kivétel dobása, összekapcsolva az eredetivel
    raise ValueError("Érvénytelen adatformátum") from e