Co to jest AssertionError w Python?
Błędy twierdzenia są koncepcją programowania, która występuje, gdy programista zapisuje lub tworzy blok kodu używanego do zadeklarowania kryterium lub warunku, który ma zostać spełniony przed uruchomieniem modułu. Jak każdy błąd Pythona, kontrola jest przenoszona do kolejnego wiersza kodu, jeśli warunek określony, gdy twierdzenie zostało ogłoszone prawdziwie. Z drugiej strony, jeśli jest to fałszywe, błąd lub wyjątek jest podniesiony, a program jest zatrzymany. Instrukcja Assert może być używana w różnych językach programowania z ich konkretnymi składniami, ponieważ jest niezależne od języka. Jest to podklasa lub instancja klasy wyjątków. Python AssertionError ma następującą składnię:
Składnia: Asser Warunek, Error_Message (opcjonalnie)
Przykład
Wpiszymy wiek osoby jako dane wejściowe, a jeśli jest to mniejsze niż zero, konsola podniesie błąd twierdzenia.
A co, jeśli wejdziemy do wieku w mniejszym niż 0?
Debugowanie kodu za pomocą tej metody jest prostsze, dzięki czemu można znaleźć błędy i poprawić błędy w programie.
Jak AssertionError działa w Python
Język Pythona zawiera instrukcję Assert, której można użyć do generowania prostych wyników komunikatu o błędzie z logicznymi twierdzeniami. Gdy oświadczenie o oświadczeniu się nie powiedzie, „wyjątek” AsertionError jest podniesiony. W Python klas wyjątków pochodzą z klasy Baseexception. Klasa Baseexception, która jest również klasą podstawową klasy AssertionError, jest miejscem, w którym wynika klasa wyjątków. Zawsze powinien istnieć odpowiedni kod obsługi wyjątków, aby poradzić sobie z niepowodzeniem oświadczenia Assert za każdym razem, gdy jest używany. Domyślna obsługa wyjątków w Pythonie wydrukuje komunikat o błędzie napisanym przez programista, ale błąd można również obsługiwać lub rozwiązać bez komunikatu o błędzie.
Wdrożenie AssertionError w Python
Poniżej znajduje się kilka przykładów AssertionError w Pythonie:
Przykład
W tym przykładzie napiszemy program Python, aby wyświetlić AssertionError w programie, który znajduje obszar koła.
Wartość „R” promienia jest przekazywana jako dane wejściowe do funkcji w poprzednim programie, który jest tworzony w celu znalezienia obszaru koła. Oświadczenie Assert jest następnie wykorzystywane do ustalenia, czy dostarczona wartość lub promień „R” jest poniżej zera, a jeśli dostarczona jest wartość ujemna, zostanie podniesiony wyjątek. Obszar okręgu zostanie zwrócony na podstawie wartości promienia „r” dostarczonej do funkcji. Po pierwsze, funkcja jest wykonywana o wartości r jako 3. Funkcja jest następnie wykonywana z wartością 2.5. AssertionError jest podniesiony, gdy używamy ujemnej wartości „R”, i.mi., „-1”.
Wypróbujmy inny przykład, aby wyświetlić występowanie błędu twierdzenia.
Przykład
W tym przykładzie program określi, czy wartość mianownika jest niezerowa.
Komunikat o błędzie błędu twierdzenia jest wyświetlany w poprzednim programie. Utworzyliśmy dwie zmienne (a i b), a wartości liczb całkowitych określają zmienne. Druga zmienna, i.mi., B jest następnie testowane, aby sprawdzić, czy nie jest to równe 0 za pomocą instrukcji Assert. W przeciwnym razie określony komunikat o błędzie jest wydrukowany. Jeśli nie, wyświetlany jest wynik podziału pierwszej liczby przez drugą wartość. Na poprzednim obrazie wyświetlane jest wyjście programu.
Zastosowania AssertionError
Inne korzystne zastosowania błędu twierdzenia obejmują:
Jak możemy uniknąć błędów aspektu w Pythonie
Obsługa AssertionError
Oprócz stwierdzenia, możemy również obsłużyć błąd twierdzenia za pomocą następujących metod:
Obsługa błędu stwierdzenia za pomocą bloków z wyjątkiem prób
Oświadczenie Assert określa, czy wartości są równe. Blok próba podnosi błąd AssertionError, ponieważ te liczby całkowite nie są równe. Polecenie drukowania jest wykonywane po tym, jak blok z wyjątkiem złapał wyjątek. Tutaj wyświetlane jest wyjście instrukcji wydruku z bloku wyjątków. Słowo kluczowe Raise można użyć do odzyskania błędu w bloku, abyśmy mogli określić źródło wyjątku. Kiedy wystąpi wyjątek, słowo kluczowe „podniesienie” podniesie błąd i zakończy program. Pomaga w utrzymaniu lub utrzymaniu rekordu/śledzenia istniejącego wyjątku.
Obsługa AssertionError za pomocą modułu Traceback
Gdy kod zawiera kilka instrukcji Assert, moduł Traceback pomaga w identyfikacji źródła dokładnego błędu.
Korzystając z modułu Traceback, nasza instrukcja drukowania można zapisać z symboliczniami zastępczymi .
Dodatkowo możemy zdefiniować inne zmienne do przechowywania pozycji linii, nazwy pliku, nazwy metody, a także tekstu/wiadomości, w której wystąpił wyjątek.
Obiekt Traceback jest określany jako „TB”. Używamy dwóch symboli zastępczych: jednego do tekstu i jednego dla pozycji linii w instrukcji drukowania.
Trzy elementy instrukcji „podnieś” - exc_type, exc_traceback i exc_value - są zwracane przez sys.funkcja exc_info ().
Obsługa AssertionError za pomocą instrukcji drukowania
Aby ręcznie obsłużyć wyjątek, możemy użyć instrukcji „wydrukuj” w bloku oprócz.
Instrukcja drukowania drukuje dowolny komunikat o błędzie, który wprowadza użytkownik. Z tą metodą błąd techniczny nie będzie problemem dla użytkownika.
Zamiast błędu wyświetlany jest krótki komunikat.
Wniosek
W tym poście po raz pierwszy zobaczyliśmy wprowadzenie wyjątków w Pythonie. Omówiliśmy AssertionError, jak to działa i jak możemy wdrożyć AssertionError w Python. Wyjaśniliśmy kilka zalet AssertionError i tego, jak możemy ich uniknąć. W ostatniej części tego postu zobaczyliśmy, w jaki sposób poradzimy sobie z AssertionError w Python za pomocą bloków TRY-ZAKRESOWANIA, Module Traceback i instrukcji drukowania.