Error d'afirmació
L'asserció és un concepte de programació que s'utilitza mentre s'escriu un codi on l'usuari declara que una condició és certa afirmar declaració abans d'executar el mòdul. Si la condició és És cert , el control simplement es mou a la següent línia de codi. Per si ho és Fals el programa deixa de funcionar i torna AssertionError Excepció.
La funció de afirmar La declaració és la mateixa independentment del llenguatge en què s'implementa, és un concepte independent del llenguatge, només la sintaxi varia amb el llenguatge de programació.

Sintaxi de l'afirmació:
afirmar condició, missatge_error (opcional)
Exemple 1: error d'asserció amb error_message.
Python 3
# AssertionError with error_message.> x>=> 1> y>=> 0> assert> y !>=> 0>,>'Invalid Operation'> # denominator can't be 0> print>(x>/> y)> |
>
1.000 milions a milions
>
Sortida:
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>
El controlador d'excepcions predeterminat a Python imprimirà el missatge d'error escrit pel programador, o bé només gestionarà l'error sense cap missatge.
Les dues maneres són vàlides.
Gestió de l'excepció AssertionError:
AssertionError s'hereta de la classe Exception, quan es produeix aquesta excepció i genera AssertionError, hi ha dues maneres de gestionar-la, l'usuari la gestiona o el controlador d'excepcions predeterminat.
A l'exemple 1 hem vist com funciona el controlador d'excepcions per defecte.
Ara anem a tractar-lo manualment.
Exemple 2
Python 3
pd.merge
# 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)> |
>
>
Sortida:
Invalid Operation>
Aplicacions pràctiques.
Exemple 3: provar un programa.
Python 3
font de làtex
# 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>)> |
>
>
Sortida:
Roots of the quadratic equation are : 2.0 3.0 Roots are imaginary Roots of the quadratic equation are : -3.0 -3.0>
Aquest és un exemple per mostrar com aquesta excepció atura l'execució del programa tan bon punt la condició d'afirmació és Falsa.
Altres aplicacions útils:
- Comprovació dels valors dels paràmetres.
- S'està comprovant l'entrada/tipus vàlid.
- Detecció d'abús d'una interfície per part d'un altre programador.
- Comprovació de la sortida d'una funció.