logo

Python | Bewering fout

Bewering fout
Assertie is een programmeerconcept dat wordt gebruikt bij het schrijven van een code waarbij de gebruiker verklaart dat een voorwaarde waar is beweren -instructie voordat u de module uitvoert. Als de voorwaarde dat is WAAR , gaat de besturing eenvoudigweg naar de volgende coderegel. In het geval dat het zo is Vals het programma stopt met draaien en keert terug BeweringFout Uitzondering.

De functie van beweren statement is hetzelfde, ongeacht de taal waarin het is geïmplementeerd, het is een taalonafhankelijk concept, alleen de syntaxis varieert afhankelijk van de programmeertaal.



Syntaxis van bewering:
beweren voorwaarde, error_message (optioneel)

Voorbeeld 1: Beweringsfout met error_message.



Python3






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

>

linkse join versus rechtse join
>

Uitgang:

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>

De standaard uitzonderingshandler in Python zal de error_message afdrukken die door de programmeur is geschreven, of anders zal hij de fout gewoon afhandelen zonder enig bericht.
Beide manieren zijn geldig.

Afhandeling van AssertionError-uitzondering:
BeweringFout wordt overgenomen van de Exception-klasse. Wanneer deze uitzondering optreedt en AssertionError veroorzaakt, zijn er twee manieren om dit af te handelen: de gebruiker handelt het af of de standaard uitzonderingshandler.
In voorbeeld 1 hebben we gezien hoe de standaard uitzonderingshandler het werk doet.
Laten we nu eens kijken naar de handmatige afhandeling ervan.

een string omzetten naar een geheel getal

Voorbeeld 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)>

>

>

Uitgang:

wat is winterslaap
Invalid Operation>

Praktische toepassingen.
Voorbeeld 3: Een programma testen.

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>)>

>

>

Uitgang:

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

Dit is een voorbeeld om te laten zien hoe deze uitzondering de uitvoering van het programma stopt zodra de assert-voorwaarde False is.

Andere nuttige toepassingen:

  • Waarden van parameters controleren.
  • Geldige invoer/type controleren.
  • Het detecteren van misbruik van een interface door een andere programmeur.
  • De uitvoer van een functie controleren.