Błąd asercji
Asercja to koncepcja programistyczna stosowana podczas pisania kodu, w której użytkownik deklaruje, że warunek jest prawdziwy zapewniać instrukcja przed uruchomieniem modułu. Jeśli jest taki warunek PRAWDA , formant po prostu przechodzi do następnego wiersza kodu. W razie gdyby tak było FAŁSZ program przestaje działać i wraca Błąd asercji Wyjątek.
Funkcja zapewniać instrukcja jest taka sama niezależnie od języka, w którym jest zaimplementowana, jest to koncepcja niezależna od języka, jedynie składnia różni się w zależności od języka programowania.

Składnia asercji:
zapewniać warunek, komunikat_błędu (opcjonalnie)
Przykład 1: Błąd asercji z komunikatem o błędzie.
Python3
# AssertionError with error_message.> x>=> 1> y>=> 0> assert> y !>=> 0>,>'Invalid Operation'> # denominator can't be 0> print>(x>/> y)> |
>
co jest w przypadku sql
>
Wyjście :
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>
Domyślna procedura obsługi wyjątków w Pythonie wydrukuje komunikat o błędzie napisany przez programistę lub po prostu obsłuży błąd bez żadnego komunikatu.
Obydwa sposoby są prawidłowe.
Obsługa wyjątku AssertionError:
Błąd asercji jest dziedziczony z klasy wyjątku, gdy ten wyjątek wystąpi i zgłosi błąd AssertionError, istnieją dwa sposoby obsługi: użytkownik obsługuje go lub domyślna procedura obsługi wyjątków.
W przykładzie 1 widzieliśmy, jak działa domyślna procedura obsługi wyjątków.
Teraz zajmiemy się obsługą tego ręcznie.
centos kontra redhat
Przykład 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)> |
>
>
Wyjście :
tablica ciągów w programowaniu w języku C
Invalid Operation>
Praktyczne zastosowania.
Przykład 3: Testowanie 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>)> |
>
>
Wyjście :
Roots of the quadratic equation are : 2.0 3.0 Roots are imaginary Roots of the quadratic equation are : -3.0 -3.0>
To jest przykład pokazujący, jak ten wyjątek wstrzymuje wykonanie programu, gdy tylko warunek potwierdzenia ma wartość Fałsz.
Inne przydatne aplikacje:
- Sprawdzanie wartości parametrów.
- Sprawdzanie prawidłowego wejścia/typu.
- Wykrywanie nadużyć interfejsu przez innego programistę.
- Sprawdzanie wyniku funkcji.