Python AssertionError

Python Assertionerror



Când un program Python întâmpină o condiție neașteptată în timpul rulării, programul oprește execuția și returnează o excepție. În Python, excepțiile și erorile de sintaxă sunt cele două categorii principale de erori. Când o bucată de cod Python care este validă sintactic creează o eroare, aceasta este cunoscută ca ridicarea unei excepții/erori. Mesajul de eroare din ultima linie definește tipul exact al excepției și oferă o descriere pentru a ajuta la depanare, iar o săgeată indică linia sau locația în care a avut loc excepția. Captarea și gestionarea excepțiilor este crucială pentru a evita o blocare bruscă a programului. Folosiți un alt mod de a executa codul. De exemplu, când apare excepția specificată. Acest tutorial va discuta despre AssertionError și despre cum o puteți rezolva în Python.

Ce este o AssertionError în Python?

Erorile de aserție sunt un concept de programare care apare atunci când un programator scrie sau creează un bloc de cod folosit pentru a declara un criteriu sau condiție care trebuie îndeplinită înainte ca modulul să fie rulat. Ca orice eroare Python, controlul este transferat la linia ulterioară de cod dacă condiția specificată atunci când afirmația a fost declarată adevărată. Dacă este fals, pe de altă parte, apare o eroare sau o excepție, iar programul este oprit. Declarația assert poate fi utilizată în diferite limbaje de programare cu sintaxele lor specifice, deoarece este independentă de limbaj. Este o subclasă sau o instanță a clasei Exception. Python AssertionError are următoarea sintaxă:

Sintaxă: assert condition, error_message(opțional)







Exemplu

Vom introduce varsta unei persoane ca intrare, iar dacă este mai mică de zero, consola va genera o eroare de afirmație.





Acum, ce se întâmplă dacă intrăm la o vârstă mai mică de 0?





Depanarea codului folosind această metodă este mai simplă, ceea ce face mai simplă găsirea erorilor și corectarea erorilor în program.



Cum funcționează AssertionError în Python

Limbajul Python include o declarație assert care poate fi folosită pentru a genera mesaje de eroare simple cu afirmații logice. Când declarația de afirmație eșuează, apare o „excepție” AssertionError. În Python, clasele de excepție sunt derivate din clasa BaseException. Clasa BaseException, care este și clasa de bază a clasei AssertionError, este de unde derivă clasa Exception. Ar trebui să existe întotdeauna un cod adecvat de gestionare a excepțiilor pentru a face față eșecului unei declarații assert ori de câte ori este utilizată una. Managerul de excepție implicit din Python va tipări mesajul de eroare scris de programator, dar eroarea poate fi, de asemenea, gestionată sau rezolvată fără un mesaj de eroare.

Implementarea AssertionError în Python

Următoarele sunt câteva exemple de AssertionError în Python:

Exemplu

În acest exemplu, vom scrie un program Python pentru a afișa o AssertionError într-un program care găsește aria unui cerc.

Valoarea razei „r” este transmisă ca intrare unei funcții din programul anterior care este creată pentru a găsi aria cercului. Instrucțiunea assert este apoi utilizată pentru a determina dacă valoarea furnizată sau raza „r” este sub zero, iar dacă îi este furnizată o valoare negativă, se va ridica o excepție. Aria cercului va fi returnată pe baza valorii razei „r” furnizată funcției. Mai întâi, funcția este executată cu valoarea r ca 3. Funcția este apoi executată cu valoarea 2,5. AssertionError apare atunci când folosim o valoare negativă a „r”, adică „-1”.

Să încercăm un alt exemplu pentru a afișa apariția unei erori de aserțiune.

Exemplu

În acest exemplu, programul va determina dacă valoarea numitorului este diferită de zero.

Mesajul de eroare al erorii de afirmație este afișat în programul anterior. Am creat două variabile (a și b), iar valorile întregi specifică variabilele. A doua variabilă, adică b este apoi testată pentru a vedea dacă nu este egală cu 0 utilizând instrucțiunea assert. Altfel specificat, mesajul de eroare este tipărit. Dacă nu, este afișat rezultatul împărțirii primului număr la a doua valoare. În imaginea anterioară, este afișată rezultatul programului.

Aplicații AssertionError

Celelalte utilizări benefice ale erorii de afirmare includ:

  • Afirmația ajută la evaluarea valorilor parametrilor
  • Afirmațiile ajută la monitorizarea tipului de intrare și dacă acea valoare este validă
  • În plus, afirmațiile ajută la identificarea dacă un alt dezvoltator de cod folosește greșit o interfață
  • Afirmațiile ajută la monitorizarea continuă a rezultatelor programului

Cum putem evita erorile de afirmare în Python

  1. Steagul -O într-un program Python poate fi folosit pentru a dezactiva fiecare declarație de afirmație. Este important să rețineți că declarațiile care vin după o declarație de aserțiune nu vor fi executate dacă dezactivăm afirmațiile.
  2. Variabila de mediu poate seta, de asemenea, un indicator pentru a opri declarațiile de aserție. Toate procesele și aplicațiile care folosesc sau moștenesc mediul sunt afectate în această situație.
  3. În Python, cea mai simplă abordare pentru a preveni erorile de afirmare este să le gestionezi manual. Dacă ne asigurăm că fluxul de control al programului este deturnat astfel încât acesta să nu acceseze instrucțiunile assert, atunci nu există nicio șansă pentru erori de afirmare.

Gestionarea AssertionError

Pe lângă declarația de aserțiune, putem trata și eroarea de aserțiune folosind următoarele metode:

Gestionarea erorii de afirmare folosind blocurile Try-Except

Declarația assert determină dacă valorile sunt egale. Blocul try ridică eroarea AssertionError deoarece aceste numere întregi nu sunt egale. Comanda de imprimare este executată după ce blocul except a prins excepția. Aici, este afișată rezultatul declarației de imprimare din blocul de excepții. Cuvântul cheie de ridicare poate fi folosit pentru a ridica din nou eroarea în blocul except, astfel încât să putem determina sursa excepției. Când apare o excepție, cuvântul cheie „creștere” va genera o eroare și va încheia programul. Ajută la menținerea sau păstrarea unei evidențe/urmei a excepției existente.

Gestionarea AssertionError folosind modulul de urmărire

Când codul conține mai multe declarații assert, modulul de urmărire ajută la identificarea sursei exacte a erorii.

Folosind modulul de urmărire, declarația noastră de tipărire poate fi scrisă cu substituenți {}.

În plus, putem defini și alte variabile pentru a stoca poziția liniei, numele fișierului, numele metodei, precum și textul/mesajul în care a apărut excepția.

Obiectul de urmărire este denumit „tb”. Folosim doi substituenți: unul pentru text și unul pentru poziția liniei în declarația de tipărire.

Cele trei componente ale instrucțiunii „raise” — exc_type, exc_traceback și exc_value — sunt returnate de funcția sys.exc_info().

Gestionarea AssertionError folosind declarația print

Pentru a gestiona manual o excepție, putem folosi instrucția „print” din blocul except.

Declarația de tipărire afișează orice mesaj de eroare introdus de utilizator. Cu această metodă, o eroare tehnică nu va fi o preocupare pentru utilizator.

În loc de eroare, este afișat un mesaj scurt.

Concluzie

În această postare, am văzut pentru prima dată introducerea excepțiilor în Python. Am discutat despre AssertionError, cum funcționează și cum putem implementa AssertionError în Python. Am explicat câteva avantaje ale AssertionError și cum le putem evita. În ultima secțiune a acestei postări, am văzut cum putem gestiona AssertionError în Python utilizând blocurile Try-Except, modulul de urmărire și declarația de tipărire.