Sobes.tech
Junior

Kas ir izņēmumu apstrāde Python?

sobes.tech AI

Atbilde no AI

Python izņēmumu apstrāde ir mehānisms, kas ļauj noķert un reaģēt uz kļūdām vai notikumiem, kas traucē programmas parasto darbību.

Tiek izmantots blokks try...except...finally vai try...except...else...finally.

try:
    # Kods, kas var izraisīt izņēmumu
    result = 10 / 0
except ZeroDivisionError:
    # Konkrētas izņēmuma apstrāde
    print("Kļūda: dalīšana ar nulli!")
except Exception as e:
    # Jebkura cita izņēmuma apstrāde
    print(f"Notika kļūda: {e}")
else:
    # Izpildās, ja `try` blokā nav bijušas izmaiņas
    print("Operācija veiksmīgi pabeigta.")
finally:
    # Vienmēr tiek izpildīts, neatkarīgi no izņēmumiem
    print("Finally bloks izpildīts.")

Galvenās sastāvdaļas:

  • try: Koda bloks, kurā sagaidāma iespējamā izņēmuma rašanās.
  • except: Koda bloks, kas tiek izpildīts, ja try blokā notiek norādītā veida izņēmums. Var būt vairāki except bloki dažādiem izņēmumu veidiem.
  • else: (Neobligāti) Koda bloks, kas tiek izpildīts, ja try blokā nav notikušas izmaiņas.
  • finally: (Neobligāti) Koda bloks, kas vienmēr tiek izpildīts, neatkarīgi no tā, vai notika izņēmums vai nē. Bieži tiek izmantots resursu atbrīvošanai (piemēram, failu aizvēršanai).
  • raise: Atslēgvārds, kas ļauj tieši izsaukt izņēmumu.
def divide(a, b):
    if b == 0:
        raise ValueError("Dalītājs nevar būt nulle")
    return a / b

try:
    divide(10, 0)
except ValueError as e:
    print(f"Lietotāja izņēmuma apstrāde: {e}")

Priekšrocības:

  • Palielina programmas uzticamību.
  • Izolē kodu, kas var izraisīt kļūdas.
  • Tīrāka normālas darbības un kļūdu apstrādes loģikas atdalīšana.