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, jatryblokā notiek norādītā veida izņēmums. Var būt vairākiexceptbloki dažādiem izņēmumu veidiem.else: (Neobligāti) Koda bloks, kas tiek izpildīts, jatryblokā 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.