logo

Python | Eroare de afirmare

Eroare de afirmare
Aserțiunea este un concept de programare folosit în timpul scrierii unui cod în care utilizatorul declară o condiție ca fiind adevărată folosind afirma instrucțiunea înainte de a rula modulul. Dacă condiția este Adevărat , controlul trece pur și simplu la următoarea linie de cod. În cazul în care este Fals programul se oprește și revine AssertionError Excepție.

Funcția de afirma declarația este aceeași indiferent de limbajul în care este implementată, este un concept independent de limbaj, doar sintaxa variază în funcție de limbajul de programare.



Sintaxa aserțiunii:
afirma condiție, mesaj de eroare (opțional)

Exemplul 1: eroare de afirmare cu mesajul_eroare.



Python3






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

>

dactilografiat fiecare
>

Ieșire:

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>

Manipulatorul de excepții implicit din python va tipări mesajul error_message scris de programator sau, altfel, va gestiona eroarea fără niciun mesaj.
Ambele moduri sunt valabile.

Gestionarea excepției AssertionError:
AssertionError este moștenit de la clasa Exception, când apare această excepție și generează AssertionError există două moduri de a gestiona, fie utilizatorul o gestionează, fie handlerul implicit de excepție.
În Exemplul 1 am văzut cum lucrează handlerul implicit de excepții.
Acum să ne ocupăm de manipularea manuală.

Exemplul 2

Python3

lista de inițializare python




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

>

>

Ieșire:

Invalid Operation>

Aplicații practice.
Exemplul 3: Testarea unui program.

Python3


tipuri de bucla for



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

>

>

Ieșire:

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

Acesta este un exemplu pentru a arăta cum această excepție oprește execuția programului de îndată ce condiția de afirmare este Falsă.

Alte aplicatii utile:

  • Verificarea valorilor parametrilor.
  • Se verifică intrarea/tipul valid.
  • Detectarea abuzului unei interfețe de către un alt programator.
  • Verificarea ieșirii unei funcții.