Python | Chyba tvrdenia

Python | Chyba tvrdenia

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

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




# 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




# 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.