Python | Påstandsfejl

Python | Påstandsfejl

Påstandsfejl
Assertion er et programmeringskoncept, der bruges under skrivning af en kode, hvor brugeren erklærer en betingelse for at være sand ved hjælp af hævde erklæring, før du kører modulet. Hvis betingelsen er Rigtigt , flytter kontrollen blot til den næste kodelinje. I tilfælde af at det er Falsk programmet stopper med at køre og vender tilbage AssertionError Undtagelse.

Funktionen af hævde statement er det samme uanset hvilket sprog det er implementeret på, det er et sproguafhængigt koncept, kun syntaksen varierer med programmeringssproget.

Syntaks for påstand:
hævde betingelse, fejlmeddelelse (valgfrit)

Eksempel 1: Påstandsfejl med fejlmeddelelse.

Python3




# AssertionError with error_message.> x> => 1> y> => 0> assert> y !> => 0> ,> 'Invalid Operation'> # denominator can't be 0> print> (x> /> y)>

Output:

Traceback (most recent call last): File '/home/bafc2f900d9791144fbf59f477cd4059.py', line 4, in assert y!=0, 'Invalid Operation' # denominator can't be 0 AssertionError: Invalid Operation 

Standard undtagelsesbehandleren i python vil udskrive fejlmeddelelsen skrevet af programmøren, ellers vil den bare håndtere fejlen uden nogen meddelelse.
Begge måder er gyldige.

Håndtering af AssertionError undtagelse:
AssertionError er nedarvet fra Exception-klassen, når denne undtagelse opstår og rejser AssertionError, er der to måder at håndtere det på, enten brugeren håndterer det eller standard-undtagelsesbehandleren.
I eksempel 1 har vi set, hvordan standard undtagelsesbehandleren gør arbejdet.
Lad os nu grave i at håndtere det manuelt.

Eksempel 2

Python3




# Handling it manually> try> :> > x> => 1> > y> => 0> > assert> y !> => 0> ,> 'Invalid Operation'> > print> (x> /> y)> # the errror_message provided by the user gets printed> except> AssertionError as msg:> > print> (msg)>

Output:

Invalid Operation 

Praktiske anvendelser.
Eksempel 3: Test af et program.

Python3




# Roots of a quadratic equation> import> math> def> ShridharAcharya(a, b, c):> > try> :> > assert> a !> => 0> ,> 'Not a quadratic equation as coefficient of x ^ 2 can't be 0'> > D> => (b> *> b> -> 4> *> a> *> c)> > assert> D>> => 0> ,> 'Roots are imaginary'> > r1> => (> -> b> +> math.sqrt(D))> /> (> 2> *> a)> > r2> => (> -> b> -> math.sqrt(D))> /> (> 2> *> a)> > print> (> 'Roots of the quadratic equation are :'> , r1, '', r2)> > except> AssertionError as msg:> > print> (msg)> ShridharAcharya(> -> 1> ,> 5> ,> -> 6> )> ShridharAcharya(> 1> ,> 1> ,> 6> )> ShridharAcharya(> 2> ,> 12> ,> 18> )>

Output:

Roots of the quadratic equation are : 2.0 3.0 Roots are imaginary Roots of the quadratic equation are : -3.0 -3.0 

Dette er et eksempel for at vise, hvordan denne undtagelse standser udførelsen af ​​programmet, så snart påstandsbetingelsen er falsk.

Andre nyttige applikationer:

  • Kontrol af værdier af parametre.
  • Kontrollerer gyldig input/type.
  • Detektering af misbrug af en grænseflade af en anden programmør.
  • Kontrol af output af en funktion.