Chyba tvrdenia
Tvrdenie je koncepcia programovania používaná pri písaní kódu, kde používateľ pomocou deklaruje podmienku ako pravdivú tvrdiť pred spustením modulu. Ak je podmienka Pravda , ovládací prvok sa jednoducho presunie na ďalší riadok kódu. V prípade, ak áno Nepravdivé program sa zastaví a vráti sa späť AssertionError Výnimka.
Funkcia tvrdiť príkaz je rovnaký bez ohľadu na jazyk, v ktorom je implementovaný, ide o koncept nezávislý od jazyka, iba syntax sa líši v závislosti od programovacieho jazyka.

Syntax tvrdenia:
tvrdiť stav, chybová_správa (voliteľné)
Príklad 1: Chyba tvrdenia s chybovou_správou.
Python3
# AssertionError with error_message.> x>=> 1> y>=> 0> assert> y !>=> 0>,>'Invalid Operation'> # denominator can't be 0> print>(x>/> y)> |
>
slučka for v skripte shellu
>
Výkon :
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>
Predvolený obslužný program výnimiek v pythone vypíše správu error_message napísanú programátorom, inak jednoducho spracuje chybu bez akejkoľvek správy.
Obidva spôsoby sú platné.
Spracovanie výnimky AssertionError:
AssertionError je zdedená z triedy Exception, keď sa táto výnimka vyskytne a vyvolá AssertionError, existujú dva spôsoby, ako ju spracovať, buď ju spracuje používateľ alebo predvolená obsluha výnimky.
V príklade 1 sme videli, ako funguje predvolený obslužný program výnimiek.
Teraz sa pozrime na manuálnu manipuláciu.
Príklad 2
Python3
výnimka java throw
# 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)> |
>
>
Výkon :
Invalid Operation>
Praktické aplikácie.
Príklad 3: Testovanie programu.
Python3
architektúra úľa
# 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>)> |
>
>
Výkon :
Roots of the quadratic equation are : 2.0 3.0 Roots are imaginary Roots of the quadratic equation are : -3.0 -3.0>
Toto je príklad, ktorý ukazuje, ako táto výnimka zastaví vykonávanie programu, akonáhle je podmienka tvrdenia False.
Ďalšie užitočné aplikácie:
- Kontrola hodnôt parametrov.
- Kontrola platného vstupu/typu.
- Detekcia zneužitia rozhrania iným programátorom.
- Kontrola výstupu funkcie.