Python - Izjeme

{title}

Ko delamo program, je velikokrat situacija, ko uporabnik lahko sproži neobičajno vedenje našega algoritma, zlasti kadar smo odvisni od vnosa podatkov s strani tega uporabnika, saj mnogi programski jeziki uporabljajo izjeme kot mehanizem, s katerim preprečimo, da bi naš program eksplodiral in ne bo ustvaril slabših razmer z izpostavljanjem občutljivih podatkov javnosti.
Kaj je izjema?
V Python-u je izjema objekt, ki, če ga na nek način ne obdelamo, pripelje do prenehanja programa in prikazuje sledenje napake, ki je povzročila to izjemo, primer, kako je videti izjema v programu Python, je viden v Naslednji posnetek zaslona:

{title}


Čeprav je ta izjema zelo osnovni primer, nam daje precej pomembno teoretično ozadje, to kaže na to, da gre za primerek neke vrste in te primere je mogoče generirati in zajeti na različne načine, kar omogoča zajem napake in nekaj v toku programa, s čimer bi se izognili njegovemu nenadnemu prenehanju, s čimer bi bil naš program veliko bolj stabilen.
Povečanje izjeme
Kot smo lahko videli v prejšnjih odstavkih, se izjeme za številne primere samodejno povečajo, vendar jih lahko tudi povečamo, da dobimo večji nadzor nad programom.
Za dvig izjeme uporabimo ukaz dvig, ki kot argument vzame razred ali objekt, ko uporabljamo razred, njegov primer se samodejno ustvari, lahko celo uporabimo argument vrste niza po razredu, ločenem z vejico.
Oglejmo si nekaj primerov z uporabo razreda Python, ki se imenuje Izjema :
S to kodo lahko povzročimo izjemo:
 >>> dvig sledenja izjem (zadnji zadnji klic): datoteka "", vrstica 1, v? Izjema 

Enostavno pokličemo povišati in prenesti razred izjem, saj vidimo, da ni zapleteno, poglejmo še nekaj kod.
 >>> dvignite izjemo, "preobremenitev s hiper pogonom" Traceback (zadnji klic zadnji): datoteka "", vrstica 1, v? Izjema: preobremenitev s hiper pogonom 

V teh dveh dodatnih primerih prenesemo dodaten parameter niza vrste, saj vidimo, da lahko to storimo bodisi z ločitvijo z vejico bodisi kot argument razreda.
Poglejmo seznam nekaterih izjem, ki privzeto prihajajo v Pythonu :
  • Izjema: korenski razred za vse izjeme.
  • AttributeError: Poviša se, ko referenca ali dodelitev atributa ne uspe.
  • IOError: Pojavi se pri odpiranju datoteke, ki ne obstaja.
  • IndexError: Poviša se, kadar se uporablja neobstoječi indeks ali zaporedje.
  • KeyError: Poviša se, če je neobstoječ ključ preslikan.
  • NameError: Poviša se, ko imena spremenljivke ni mogoče najti.
  • SyntaxError: Pojavi se, ko je koda slabo oblikovana.
  • TypeError: Poviša se, ko je operacija ali funkcija uporabljena za objekt napačnega tipa.
  • ValueError: Enako kot prejšnji primer, vendar namesto da se nanaša na vrsto, velja za vrednost predmeta.
  • ZeroDivisionerror: Pojavi se, ko je drugi argument delitve nič.
Ustvari naše izjeme
Čeprav izjeme, ki prihajajo iz Pythona, že pokrivajo obsežen teren v funkcionalnostih, ki jih morda potrebujemo, včasih pa moramo ustvariti lastne izjeme, da bomo izpolnili svoje programe, poglejmo primer:
 razred SomeCustomException (Izjema): pass 

Preprosto ustvarimo razred kot kateri koli drug in nato podedujemo od razreda Exception, da ustvarimo izjemo po meri.

  • 0