Funcția Python Try Except explicată cu un exemplu
Publicat: 2021-11-22Programarea joacă un rol esențial în realizarea mai multor sarcini în epoca modernă. Fie în domeniile de cercetare sau de afaceri, aplicarea programării poate fi văzută peste tot. Python este un astfel de limbaj de programare care a fost aplicat pe scară largă în viața de zi cu zi a aproape tuturor oamenilor. Desigur, acest lucru depinde de programele care sunt dezvoltate și executate. Fie că este vorba de învățare automată, dezvoltare web, dezvoltare de software sau orice programe educaționale, programatorii îl aplică în mare parte python.
Cu toate acestea, pentru orice program care a fost proiectat, există șanse ca uneori erori să fie asociate cu acesta. Aceste erori pot fi definite de utilizator sau unele implicite în cadrul programului însuși. De asemenea, un program scris în limbajul de programare Python se poate termina ori de câte ori detectează orice formă de eroare în cod. Articolul va descrie excepțiile care apar în programarea python și modul în care sunt gestionate prin utilizarea funcției try and except. În programarea Python, apar în principal două tipuri de erori, care sunt erorile de sintaxă și excepțiile.
Cuprins
Excepții și erori de sintaxă
Una dintre cele mai comune forme de erori Python este erorile de sintaxă. Acestea sunt cunoscute și sub numele de erori de analiză. O săgeată mică este folosită pentru a indica eroarea de către parser.
Cealaltă formă de eroare sunt excepțiile în python. Există cazuri în care sintaxa programului rămâne aceeași, dar anumite erori apar de fiecare dată când programul este executat. Aceste erori care sunt detectate la executare sunt denumite excepții.
Câteva exemple de erori de excepție sunt enumerate mai jos:
1. KeyboardInterrupt:
Acest tip de eroare apare ori de câte ori introducerea utilizatorului este întreruptă prin apăsarea nedorită a tastelor de pe tastatură. Tasta de obicei nu este necesară și este apăsată din greșeală de către utilizator.
2. IOErrore
Uneori, există cazuri în care nu puteți deschide un fișier, iar aceste excepții sunt asociate cu astfel de cazuri.
3. ImportError
Ori de câte ori programul python nu poate localiza modulul, apar astfel de excepții.
4. EOFError:
Fără a citi date, dacă sfârșitul fișierului este lovit, apar astfel de excepții.
5. ValueError
Excepțiile sunt asociate cu funcțiile încorporate. Ori de câte ori astfel de funcții primesc un argument greșit, atunci apar aceste excepții.
Apariția erorilor de sintaxă constă în detectarea declarațiilor incorecte în programul python. Iată un exemplu pentru a arăta generarea erorilor de sintaxă:
>>> print( 0 / 0 ))
Fișier „<stdin>”, rândul 1
printare( 0 / 0 ))
^
SyntaxError: sintaxă nevalidă
Se poate observa că există o săgeată în programul de mai sus și indică locația în care analizatorul a detectat eroarea. De asemenea, există două paranteze în cod, ceea ce duce la o sintaxă greșită. Prin urmare, a apărut o eroare de sintaxă. Puteți elimina paranteza și puteți executa din nou codul.
Rularea programului după eliminarea parantezei va afișa acum o excepție de „ZeroDivisionError”. Acest lucru se datorează faptului că sintaxa codului este corectă, dar totuși există o eroare. Acest tip de eroare care rezultă din codul de sintaxă corect este denumit excepții.
Programul va avea ca rezultat o linie „ZeroDivisionError: diviziune întreagă sau modulo cu zero”. Aceasta este ultima linie a programului și arată ce excepții generează programul. Puteți observa că python nu menționează doar erori de excepție; în schimb, explică și arată tipul excepției.
Gestionarea excepțiilor prin clauza Try Except
Conceptul de gestionare a excepțiilor în python este denumit gestionarea excepțiilor. Pot fi scrise programe care pot gestiona anumite tipuri specifice de excepții. Un exemplu de excepție de gestionare este prezentat în imaginea de mai jos:
Codul de mai sus este preluat de pe https://docs.python.org/3/tutorial/errors.html .
În programul de mai sus, utilizatorului i se cere să introducă un număr întreg valid ca intrare. Dar, în loc de un număr întreg valid, a existat o întrerupere din partea utilizatorului. Ori de câte ori se întâlnește un astfel de tip de întrerupere a utilizatorului, există un tip de excepție ridicată de programul python, care este excepția „KeyboardInterrupt”.
Python încearcă, cu excepția blocurilor, sunt folosite pentru a captura și gestiona excepțiile care apar într-un program Python. Codul care este prezent sub instrucțiunea try este executat ca un program normal. În același timp, programul care este prezent în instrucțiunea except este principalul răspuns al programului împotriva oricărei forme de excepții.
Din exemplul discutat mai sus în secțiunea „excepție și erori de sintaxă”, s-a putut observa că a apărut o eroare atunci când a fost folosită o sintaxă greșită în cod. Cu toate acestea, dacă nu există nicio gestionare a excepției corespunzătoare, programul s-ar fi încheiat. Este în principal datoria clauzei de excepție să decidă cum ar trebui să răspundă programul în cazul unor excepții.
Declarațiile try și except sunt folosite pentru gestionarea erorilor în python. Ori de câte ori apare o eroare în codul python, aceste instrucțiuni sunt folosite pentru a le gestiona. Există un bloc separat de cod pentru funcțiile try și except. Codul din blocul try ajută la verificarea programului pentru existența oricăror erori. Prin urmare, ori de câte ori nu există nicio eroare în program, codul din blocul try va fi executat. Codul din blocul except va fi executat atunci când sunt detectate unele erori în blocul de cod anterior. Există o sintaxă specifică pentru rularea testului și a blocului de instrucțiuni except în limbajul de programare Python.
Sintaxa funcției Try Except din Python:
încerca:
# Un cod
cu exceptia :
# Executat dacă o eroare în
# încercați să blocați
Funcționarea Declarației Try
Să înțelegem mai întâi funcționarea blocului try. Iată câțiva pași care vor defini funcționarea blocului de cod în blocul try.
- Clauza „încercați” este executată mai întâi. Aceasta înseamnă că codul care se află între clauza try și except este executat primul.
- Excepțiile sunt verificate. Deci, dacă nu sunt detectate erori sau excepții, se va executa doar clauza try. În același timp, clauza de excepție se va opri.
- În cazurile în care există o excepție, programul va omite clauza de încercare. În astfel de cazuri, va exista derularea clauzei de excepție.
- Pot exista cazuri când există o excepție, dar clauza de excepție nu este capabilă să gestioneze acea excepție. În astfel de cazuri, excepția este transmisă la declarațiile de încercare din afara blocului. Dacă excepția nu este gestionată chiar și atunci, programul se oprește.
- O declarație de încercare poate avea o mulțime de clauze except (mai mult de una).
Să presupunem că un program python întâlnește diferite excepții, apoi pentru a specifica diferiții handler, mai multe cu excepția blocurilor sunt utilizate în programul python. La un moment dat, va fi executat un singur handler. Chiar și într-un program Python, excepțiile multiple pot fi folosite ca paranteză în clauza except.
Uneori, o clasă poate fi prezentă în instrucțiunea except.
Există utilizarea unui cuvânt cheie în python, care este cuvântul „în sfârșit”. Cuvântul cheie este folosit sau este executat după executarea blocurilor try și except. Astfel, ori de câte ori există o încetare a clauzei try din cauza unei excepții sau a unei reziliări normale, are loc o execuție a blocului try în astfel de cazuri.
Ridicarea excepțiilor
După detectarea excepțiilor, excepțiile sunt forțate să apară prin ridicarea excepțiilor. Acest lucru se realizează folosind declarația „creștere”. Unul dintre obiectivele importante ale declarației de ridicare este acela că ar trebui ridicată excepția.
Câteva puncte importante pentru a rezuma întreaga idee sunt:
- Execuția clauzei try continuă până și dacă nu întâlnește prima excepție.
- Este în interiorul blocului, cu excepția faptului că programul decide cum să răspundă împotriva excepției.
- Pot fi anticipate mai multe excepții, iar apoi programul diferențiază modul de răspuns împotriva lor.
- O excepție poate fi aruncată în orice moment prin utilizarea declarației „creștere”.
- Declarația „assert” permite programului să știe dacă o anumită condiție este îndeplinită și dacă condiția nu este îndeplinită, apoi aruncând excepția necesară.
- Clauza else permite programului să ruleze codul atunci când nu există excepții în clauza „încercați”.
- Declarația „în sfârșit” execută secțiuni de cod care sunt menite să fie rulate întotdeauna fără a întâlni excepții anterioare.
Concluzie
Articolul a discutat pe scurt erorile care ar putea apărea într-un program python, iar în cazul anumitor erori excepționale, programul aruncă o excepție. Aceste excepții trebuie gestionate corespunzător pentru o execuție fără probleme a programului. try and except în python permite gestionarea excepțiilor în program. Codul de sub instrucțiunea „try” este executat. Dacă codul nu este executat cu succes, atunci programul se va termina la linia de cod care a generat eroarea, iar apoi codul „cu excepția” va rula.
Obțineți diplome de Inginerie software de la cele mai bune universități din lume. Câștigă programe Executive PG, programe avansate de certificat sau programe de master pentru a-ți accelera cariera.
Blocul de încercare permite testarea unui bloc de cod pentru prezența oricăror erori. Blocul except permite programului să gestioneze excepția dacă există.