Python AssertionError

Python Assertionerror



Når et Python-program støter på en uventet tilstand mens det kjører, stopper programmet kjøres og returnerer et unntak. I Python er unntak og syntaksfeil de to hovedkategoriene av feil. Når et stykke Python-kode som er syntaktisk gyldig skaper en feil, er det kjent som å heve et unntak/feil. Feilmeldingen på den siste linjen definerer det nøyaktige unntakstypen og gir en beskrivelse for å hjelpe til med feilsøking, og en pil peker til linjen eller stedet der unntaket skjedde. Å fange opp og administrere unntak er avgjørende for å unngå et plutselig programkrasj. Bruk en annen måte å kjøre koden på. For eksempel når det angitte unntaket inntreffer. Denne opplæringen vil diskutere AssertionError og hvordan du kan løse den i Python.

Hva er en AssertionError i Python?

Påstandsfeil er et programmeringskonsept som oppstår når en programmerer skriver eller oppretter en kodeblokk som brukes til å erklære et kriterium eller betingelse som skal oppfylles før modulen kjøres. Som enhver Python-feil overføres kontrollen til den påfølgende kodelinjen hvis betingelsen spesifisert da påstanden ble erklært sann. Hvis den er usann, på den annen side, oppstår en feil eller unntak, og programmet stoppes. Påstandssetningen kan brukes i forskjellige programmeringsspråk med deres spesifikke syntakser fordi den er uavhengig av språk. Det er en underklasse eller en forekomst av Exception-klassen. Python AssertionError har følgende syntaks:

Syntaks: hevde tilstand, feilmelding (valgfritt)







Eksempel

Vi legger inn en persons alder som input, og hvis den er mindre enn null, vil konsollen vise en påstandsfeil.





Hva om vi skriver inn en alder mindre enn 0?





Det er enklere å feilsøke koden din med denne metoden, og dermed blir det enklere å finne feil og rette feil i programmet.



Hvordan AssertionError fungerer i Python

Python-språket inkluderer en assert-setning som kan brukes til å generere enkle feilmeldingsutganger med logiske påstander. Når påstandserklæringen mislykkes, oppstår en «unntak» AssertionError. I Python er unntaksklassene avledet fra BaseException-klassen. BaseException-klassen, som også er basisklassen til AssertionError-klassen, er der Exception-klassen stammer fra. Det bør alltid være passende unntakshåndteringskode for å håndtere feilen i en påstandserklæring når en brukes. Standard unntaksbehandler i Python vil skrive ut den programmererskrevne feilmeldingen, men feilen kan også håndteres eller løses uten feilmelding.

Implementering av AssertionError i Python

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

Eksempel

I dette eksemplet vil vi skrive et Python-program for å vise en AssertionError i et program som finner arealet av en sirkel.

Radius 'r'-verdien sendes som en inngang til en funksjon i det forrige programmet som er opprettet for å finne arealet av sirkelen. Påstandssetningen brukes deretter til å bestemme om den oppgitte verdien eller radius 'r' er under null, og hvis en negativ verdi tilføres den, vil et unntak bli hevet. Arealet av sirkelen vil bli returnert basert på verdien av radius 'r' levert til funksjonen. Først utføres funksjonen med verdien r som 3. Funksjonen utføres deretter med verdien 2,5. AssertionError oppstår når vi bruker en negativ verdi på 'r', dvs. '-1'.

La oss prøve et annet eksempel for å vise forekomsten av en påstandsfeil.

Eksempel

I dette eksemplet avgjør programmet om nevnerverdien ikke er null.

Påstandsfeilens feilmelding vises i det forrige programmet. Vi har laget to variabler (a og b), og heltallsverdier spesifiserer variablene. Den andre variabelen, dvs. b, testes deretter for å se om den ikke er lik 0 ved å bruke assert-setningen. Ellers spesifisert, skrives feilmeldingen ut. Hvis ikke, vises resultatet av å dele det første tallet med den andre verdien. I det forrige bildet vises programmets utdata.

Anvendelser av AssertionError

Den andre fordelaktige bruken av påstandsfeil inkluderer:

  • Påstand hjelper til med å evaluere parameterverdier
  • Påstander hjelper deg med å overvåke inndatatypen og om denne verdien er gyldig
  • I tillegg hjelper påstander med å identifisere om en annen kodeutvikler misbruker et grensesnitt
  • Påstander hjelper til med å kontinuerlig overvåke programmets produksjon

Hvordan vi kan unngå hevde feilene i Python

  1. -O-flagget i et Python-program kan brukes til å deaktivere hver påstandssetning. Det er viktig å huske på at utsagnene som kommer etter en påstandserklæring ikke blir utført hvis vi deaktiverer påstandserklæringene.
  2. Miljøvariabelen kan også sette et flagg for å slå av påstandssetningene. Alle prosesser og applikasjoner som bruker eller arver miljøet påvirkes i denne situasjonen.
  3. I Python er den enkleste tilnærmingen for å forhindre påstandsfeil å håndtere dem manuelt. Hvis vi sørger for at programmets kontrollflyt blir omdirigert slik at det ikke får tilgang til påstandssetningene, er det ingen sjanse for påstandsfeil.

Håndtering av AssertionError

I tillegg til påstandserklæringen, kan vi også håndtere påstandsfeilen ved å bruke følgende metoder:

Håndtere påstandsfeilen ved å bruke prøve-unntatt-blokkene

Påstandsuttalelsen avgjør om verdiene er like. Prøv-blokken øker AssertionError-feilen fordi disse heltallene ikke er like. Utskriftskommandoen utføres etter at unntaksblokken har fanget opp unntaket. Her vises utskriftssetningens utdata fra unntaksblokken. Raise-søkeordet kan brukes til å gjenheve feilen i unntaksblokken, slik at vi kan fastslå kilden til unntaket. Når et unntak oppstår, vil søkeordet «heve» oppstå en feilmelding og avslutte programmet. Det hjelper med å opprettholde eller holde oversikt over det eksisterende unntaket.

Håndtere AssertionError ved å bruke sporingsmodulen

Når koden inneholder flere påstandssetninger, hjelper sporingsmodulen med å identifisere den eksakte feilkilden.

Ved å bruke sporingsmodulen kan utskriftserklæringen vår skrives med plassholdere {}.

I tillegg kan vi definere andre variabler for å lagre linjeposisjonen, filens navn, navnet på metoden, samt teksten/meldingen der unntaket skjedde.

Sporingsobjektet blir referert til som «tb». Vi bruker to plassholdere: én for teksten og én for plasseringen av linjen i utskriftsutskriften.

De tre komponentene i setningen «raise» – exc_type, exc_traceback og exc_value – returneres av sys.exc_info()-funksjonen.

Håndtere Assertion Error ved å bruke utskriftserklæringen

For å håndtere et unntak manuelt, kan vi bruke erklæringen «skriv ut» i unntaksblokken.

Utskriftserklæringen skriver ut eventuelle feilmeldinger som brukeren skriver inn. Med denne metoden vil en teknisk feil ikke være en bekymring for brukeren.

I stedet for en feil vises en kort melding.

Konklusjon

I dette innlegget så vi først introduksjonen av unntak i Python. Vi diskuterte AssertionError, hvordan det fungerer, og hvordan vi kan implementere AssertionError i Python. Vi forklarte flere fordeler med AssertionError og hvordan vi kan unngå dem. I den siste delen av dette innlegget så vi hvordan vi kan håndtere AssertionError i Python ved å bruke Try-Except Blocks, sporingsmodulen og utskriftserklæringen.