Introducere în manipularea excepțiilor Python

Excepțiile sunt tratate în python folosind două tehnici majore, sunt o afirmație și o manipulare a excepțiilor. În acest capitol vom discuta despre tehnicile de manipulare a excepțiilor piton
Orice eveniment care abatește execuția normală a fluxului de program se numește excepție. Încercați blocarea reține codurile posibile de generare a erorilor. Punerea în ordine și gestionarea acestor excepții este un proces realizat de blocul cu excepția, care este inserat la sfârșitul fiecărui bloc de încercare. Un singur bloc de încercare poate asocia mai mult de o excepție la un moment dat, iar celălalt bloc se încadrează în secțiunea obișnuită a fluxului de program. Tot codul în care nu este necesară protecția blocului de încercare este plasat în blocul altfel al programului.

Sintaxă:

try: Executes when suspicious code is executed
except Exception1: Executed when
exception 1 is raised
except Exception2: Executed when exception 2 is raised
else: If there is no exception then execute this block

Lista de excepții standard

Excepție: toate excepțiile clasei de bază

StopIteration: când niciun obiect nu este indicat de următoarea metodă a iteratorului, această excepție este ridicată

SystemExit: ridicat prin funcția sys.exit ().

StandardError: cu excepția StopIteration și SystemExit, aceasta funcționează ca clasa de bază pentru toate funcțiile încorporate.

ArithmeticError: Pentru toate erorile numerice, aceste excepții acționează ca clasa de bază.

OverflowError: Pentru un tip numeric dacă calculul depășește valoarea maximă posibilă, atunci această eroare este ridicată.

FloatingPointError: Eroarea unei operații float produce o eroare

ZeroDivisionError: ridicat atunci când apare o codare la zero a situației în cod

AssertionError: Când instrucțiunea assert eșuează, atunci această eroare este declanșată

AttributeError: Când o atribuire sau o referință de atribut eșuează, atunci apare această eroare

EOFErroR: Se ridică atunci când nu se mai ajunge la niciun fel de intrare din funcția și sfârșitul fișierului

ImportError: ridicat în timp ce o declarație de import eșuează.

KeyboardInterrupt: crescut atunci când există o întrerupere a execuției programului

LookupError: Toate erorile de căutare se încadrează în această clasă de bază

IndexError: crescut atunci când indexul nu a fost găsit

KeyError: ridicat atunci când dicționarul nu deține valoarea cheie menționată

NameError: ridicat pentru un identificator lipsă local sau global în program

UnboundLocalError: ridicat atunci când utilizați o variabilă locală, fără să i se atribuie nicio valoare.

EnvironmentError: clasa de bază pentru erorile orientate către mediu care apar în afara pitonului

IOError: ridicat în timp ce un proces de intrare / ieșire nu a reușit

SyntaxError: Toate erorile orientate către sintaxa python sunt gestionate de această excepție

IndentationError: indentarea incorectă va duce la astfel de erori

SystemError: Aceasta apare într-o situație în care interpretul nu funcționează așa cum era de așteptat, dar această eroare nu face ca programul python să iasă din execuție

SystemExit: Când funcția sys.exit () este utilizată de interpretul piton, atunci conduce la această excepție. acest lucru face ca codul să se încheie anormal atunci când nu a fost gestionat corect.

TypeError: Când o operație este invalidă pentru un anumit tip de date, atunci această eroare este solicitată

ValueError: Când o funcție deține un argument de tip valid, dar o valoare necorespunzătoare este specificată pentru acel argument de tip

RuntimeError: Dacă oricare dintre categoriile de mai sus nu sunt satisfăcute, atunci această eroare este ridicată

NotImplementedError: ridicat în timp ce o metodă nonfigurative care dorește să fie pusă în practică într-o clasă moștenită nu este de fapt implementată. Punerea în ordine și gestionarea acestor excepții este un proces realizat de blocul cu excepția, care este inserat la sfârșitul fiecărui bloc de încercare.

Procesul de manipulare a excepției în Python

  • Cu excepția clauzei cu mai multe excepții
  • Cu excepția clauzei fără nici o excepție menționată
  • Cu excepția clauzei cu Argumente

Mai jos vom discuta despre procesul de manipulare a excepțiilor din Python

1. Cu excepția clauzei cu mai multe excepții

Acest lucru permite mai mult de o declarație, cu excepția unei declarații, cu excepția clauzei și toate aceste excepții declarate pot fi ridicate de la această, cu excepția clauzei.

Sintaxă:

try: Code block1
except(Exception1(, Exception2(, …ExceptionN)))):
Executes when one among the exception happens
else: Executed when no exception is raised

2. Cu excepția clauzei fără excepție

Toate excepțiile declanșate de la blocul de încercare pot fi procesate aici.

Sintaxă:

try:
Code block1
except:
Executes if any type of exception happens
else:
If there is no exception then execute this block

3. Cu excepția clauzei cu Argumente

Cauza reală a excepției va fi reținută în valoarea argumentului

Sintaxă:

try:
Code block1except
ExceptionType, Argument:
Argument value is printed here

4. Program de manipulare a excepțiilor

Sintaxă:

try:
fh = open("testfile1", "w")
try:
fh.write("Exception handeling")
finally:
print "Going to close the file"
fh.close()
except IOError:
print "Error: can\'t find file or read data"

Concluzie

Fiecare limbaj de programare ține procesul de ridicare a unei excepții ori de câte ori se confruntă cu un set neașteptat de situații, iar piton este unul dintre ele care produce tehnici profunde de gestionare a acestor excepții, ceea ce îl face un puternic limbaj de programare de bază.

Articol recomandat

Acesta a fost un ghid pentru manipularea excepțiilor Python. Aici vom discuta lista de excepții și procesul standard împreună cu Sintaxa. Puteți parcurge și alte articole sugerate pentru a afla mai multe -

  1. Avantajele Python
  2. Cadre Python
  3. Modele în Python
  4. Compilatoare Python
  5. Manipularea excepțiilor în VB.NET (exemple)
  6. Dicționar în Python
  7. Evenimente VB.Net