Napaka trditve
Trditev je programski koncept, ki se uporablja med pisanjem kode, kjer uporabnik z uporabo razglasi pogoj za resničnega trditi pred zagonom modula. Če je pogoj Prav , se kontrolnik preprosto premakne v naslednjo vrstico kode. V primeru, da je False program preneha delovati in se vrne AssertionError Izjema.
Funkcija trditi Stavek je enak ne glede na jezik, v katerem je implementiran, je od jezika neodvisen koncept, le sintaksa se razlikuje glede na programski jezik.

Sintaksa trditve:
trditi pogoj, sporočilo_napake (neobvezno)
Primer 1: Napaka v trditvi s sporočilom o napaki.
Python3
# AssertionError with error_message.> x>=> 1> y>=> 0> assert> y !>=> 0>,>'Invalid Operation'> # denominator can't be 0> print>(x>/> y)> |
>
je
>
Izhod:
arraylist
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>
Privzeti obravnavalec izjem v pythonu bo natisnil error_message, ki ga je napisal programer, ali pa bo preprosto obravnaval napako brez kakršnega koli sporočila.
Veljavna sta oba načina.
Obravnava izjeme AssertionError:
AssertionError je podedovan iz razreda Exception, ko pride do te izjeme in sproži AssertionError, obstajata dva načina za obravnavo, ali jo obravnava uporabnik ali privzeti obravnavalec izjem.
V primeru 1 smo videli, kako deluje privzeti obravnavalec izjem.
Zdaj pa se poglobimo v ročno ravnanje.
Primer 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)> |
>
>
Izhod:
Invalid Operation>
Praktične aplikacije.
Primer 3: Testiranje programa.
Python3
predmet v jsonobject java
# 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>)> |
>
>
Izhod:
Roots of the quadratic equation are : 2.0 3.0 Roots are imaginary Roots of the quadratic equation are : -3.0 -3.0>
To je primer, ki prikazuje, kako ta izjema ustavi izvajanje programa takoj, ko je pogoj potrditve False.
Druge uporabne aplikacije:
- Preverjanje vrednosti parametrov.
- Preverjanje veljavnega vnosa/tipa.
- Odkrivanje zlorabe vmesnika s strani drugega programerja.
- Preverjanje izhoda funkcije.