Python AssertionError

Python Assertionerror



Når et Python-program støder på en uventet tilstand, mens det kører, stopper programmet udførelsen og returnerer en undtagelse. I Python er undtagelser og syntaksfejl de to hovedkategorier af fejl. Når et stykke Python-kode, der er syntaktisk gyldig, skaber en fejl, er det kendt som at rejse en undtagelse/fejl. Fejlmeddelelsen i den sidste linje definerer den præcise undtagelses type og giver en beskrivelse til hjælp ved fejlretning, og en pil peger på den linje eller det sted, hvor undtagelsen fandt sted. At fange og administrere undtagelser er afgørende for at undgå et pludseligt programnedbrud. Brug en anden måde at udføre koden på. For eksempel når den angivne undtagelse opstår. Denne tutorial vil diskutere AssertionError, og hvordan du kan løse den i Python.

Hvad er en AssertionError i Python?

Påstandsfejl er et programmeringskoncept, der opstår, når en programmør skriver eller opretter en kodeblok, der bruges til at erklære et kriterium eller betingelse, der skal være opfyldt, før modulet køres. Som enhver Python-fejl overføres kontrollen til den efterfølgende kodelinje, hvis betingelsen er angivet, da påstanden blev erklæret sand. Hvis det på den anden side er falsk, opstår der en fejl eller undtagelse, og programmet stoppes. Assert-sætningen kan bruges i forskellige programmeringssprog med deres specifikke syntakser, fordi den er uafhængig af sprog. Det er en underklasse eller en instans af klassen Exception. Python AssertionError har følgende syntaks:

Syntaks: hævde tilstand, fejlmeddelelse (valgfrit)







Eksempel

Vi indtaster en persons alder som input, og hvis den er mindre end nul, vil konsollen vise en påstandsfejl.





Hvad nu hvis vi indtaster en alder mindre end 0?





Fejlretning af din kode ved hjælp af denne metode er nemmere, hvilket gør det nemmere at finde fejl og rette fejl i programmet.



Hvordan AssertionError virker i Python

Python-sproget inkluderer en assert-sætning, der kan bruges til at generere simple fejlmeddelelsesoutput med logiske påstande. Når påstandserklæringen mislykkes, opstår der en 'undtagelse' AssertionError. I Python er undtagelsesklasserne afledt fra BaseException-klassen. BaseException-klassen, som også er basisklassen for AssertionError-klassen, er hvor Exception-klassen stammer fra. Der bør altid være passende undtagelseshåndteringskode til at håndtere fejlen i en påstandserklæring, når en sådan bruges. Standard undtagelsesbehandleren i Python udskriver den programmørskrevne fejlmeddelelse, men fejlen kan også håndteres eller løses uden en fejlmeddelelse.

Implementering af AssertionError i Python

Følgende er flere eksempler på AssertionError i Python:

Eksempel

I dette eksempel vil vi skrive et Python-program for at vise en AssertionError i et program, der finder arealet af en cirkel.

Radius 'r' værdien sendes som input til en funktion i det forrige program, der er oprettet for at finde arealet af cirklen. Assert-sætningen bruges derefter til at bestemme, om den leverede værdi eller radius 'r' er under nul, og hvis en negativ værdi leveres til den, vil en undtagelse blive hævet. Cirklens areal vil blive returneret baseret på værdien af ​​radius 'r' leveret til funktionen. Først udføres funktionen med en værdi på r som 3. Funktionen udføres derefter med værdien 2,5. AssertionError opstår, når vi bruger en negativ værdi på 'r', dvs. '-1'.

Lad os prøve et andet eksempel for at vise forekomsten af ​​en påstandsfejl.

Eksempel

I dette eksempel afgør programmet, om nævnerværdien ikke er nul.

Påstandsfejlens fejlmeddelelse vises i det forrige program. Vi har oprettet to variable (a og b), og heltalsværdier angiver variablerne. Den anden variabel, dvs. b, testes derefter for at se, om den ikke er lig med 0 ved hjælp af assert-sætningen. Ellers angivet, udskrives fejlmeddelelsen. Hvis ikke, vises resultatet af at dividere det første tal med den anden værdi. På det forrige billede vises programmets output.

Anvendelser af AssertionError

De andre fordelagtige anvendelser af påstandsfejl omfatter:

  • Påstand hjælper med at evaluere parameterværdier
  • Påstande hjælper med at overvåge inputtypen, og om denne værdi er gyldig
  • Derudover hjælper påstande med at identificere, om en anden kodeudvikler misbruger en grænseflade
  • Påstande hjælper med løbende at overvåge programmets output

Hvordan vi kan undgå påstandsfejlene i Python

  1. -O-flaget i et Python-program kan bruges til at deaktivere enhver påstandssætning. Det er vigtigt at huske på, at de udsagn, der kommer efter en påstandserklæring, ikke bliver udført, hvis vi deaktiverer påstandserklæringerne.
  2. Miljøvariablen kan også indstille et flag for at deaktivere assertion statements. Alle processer og applikationer, der bruger eller arver miljøet, påvirkes i denne situation.
  3. I Python er den enkleste tilgang til at forhindre påstandsfejl at håndtere dem manuelt. Hvis vi sikrer, at programmets kontrolflow omdirigeres, så det ikke får adgang til assert-sætningerne, så er der ingen chance for assertionsfejl.

Håndtering af AssertionError

Udover påstandserklæringen kan vi også håndtere påstandsfejlen ved hjælp af følgende metoder:

Håndtering af påstandsfejlen ved hjælp af Try-Except-blokkene

Påstandserklæringen bestemmer, om værdierne er ens. Prøv-blokken rejser AssertionError-fejlen, fordi disse heltal ikke er ens. Udskrivningskommandoen udføres, efter undtagelsesblokken har fanget undtagelsen. Her vises printsætningens output fra undtagelsesblokken. Forhøjningssøgeordet kan bruges til at genrejse fejlen i undtagelsesblokken, så vi kan bestemme undtagelsens kilde. Når der opstår en undtagelse, vil søgeordet 'hæve' opstå en fejl og afslutte programmet. Det hjælper med at vedligeholde eller holde styr på den eksisterende undtagelse.

Håndtering af AssertionError ved hjælp af sporingsmodulet

Når koden indeholder flere assert-udsagn, hjælper sporingsmodulet med at identificere den nøjagtige fejlkilde.

Ved at bruge sporingsmodulet kan vores udskriftserklæring skrives med pladsholdere {}.

Derudover kan vi definere andre variabler til at gemme linjepositionen, filens navn, navnet på metoden samt teksten/meddelelsen, hvor undtagelsen opstod.

Sporingsobjektet omtales som 'tb'. Vi bruger to pladsholdere: én til teksten og én til positionen af linjen i udskriften.

De tre komponenter i sætningen 'raise' — exc_type, exc_traceback og exc_value — returneres af sys.exc_info()-funktionen.

Håndtering af AssertionError ved hjælp af udskriftserklæringen

For manuelt at håndtere en undtagelse kan vi bruge erklæringen 'print' inde i undtagelsesblokken.

Udskriftserklæringen udskriver enhver fejlmeddelelse, som brugeren indtaster. Med denne metode vil en teknisk fejl ikke være en bekymring for brugeren.

I stedet for en fejl vises en kort meddelelse.

Konklusion

I dette indlæg så vi først indførelsen af ​​undtagelser i Python. Vi diskuterede AssertionError, hvordan det virker, og hvordan vi kan implementere AssertionError i Python. Vi forklarede flere fordele ved AssertionError, og hvordan vi kan undgå dem. I det sidste afsnit af dette indlæg så vi, hvordan vi kan håndtere AssertionError i Python ved hjælp af Try-Except Blocks, traceback-modulet og print-erklæringen.