Python AssertionError

Python AssertionError
Kiedy program Python napotyka nieoczekiwany warunek podczas uruchomienia, program zatrzymuje wykonanie i zwraca wyjątek. W Pythonie wyjątki i błędy składniowe to dwie główne kategorie błędów. Kiedy kawałek kodu Pythona, który jest poprawny składnia, tworzy błąd, jest znany jako podniesienie wyjątku/błędu. Komunikat o błędzie w ostatnim wierszu określa typ precyzyjnego wyjątku i zawiera opis pomocy w debugowaniu, a strzałka wskazuje na linię lub miejsce, w którym wystąpił wyjątek. Łapanie i zarządzanie wyjątkami ma kluczowe znaczenie dla uniknięcia nagłej awarii programu. Użyj innego sposobu, aby wykonać kod. Na przykład, gdy nastąpi określony wyjątek. W tym samouczku omówi AssertionError i sposób, w jaki możesz go rozwiązać w Python.

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ą:

  • Asercja AIDS w ocenie wartości parametrów
  • Twierdzenia pomagają w monitorowaniu typu wejściowego i tego, czy wartość ta jest ważna
  • Dodatkowo twierdzenia pomagają w ustaleniu, czy inny programista kodu niewłaściwie wykorzystuje interfejs
  • Twierdzenia pomagają w ciągłym monitorowaniu wyników programu

Jak możemy uniknąć błędów aspektu w Pythonie

  1. Flaga -O w programie Python może być użyta do wyłączenia każdego stwierdzenia Assertion. Ważne jest, aby pamiętać, że stwierdzenia, które nadejdą po oświadczeniu o stwierdzeniu, nie zostaną wykonane, jeśli wyłączymy stwierdzenia stwierdzenia.
  2. Zmienna środowiskowa może również ustawić flagę, aby wyłączyć instrukcje stwierdzenia. W tej sytuacji wpływają na wszystkie procesy i aplikacje, które używają lub dziedziczą środowisko.
  3. W Pythonie najprostszym podejściem do zapobiegania błędom twierdzeniom jest ręczne radzenie sobie z nimi. Jeśli upewnimy się, że przepływ kontroli programu zostanie przekierowany, aby nie uzyskali dostępu do instrukcji assert, nie ma szans na błędy w zakresie asercji.

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.