Wprowadzenie do obsługi wyjątków Python

Wyjątki są obsługiwane w Pythonie przy użyciu dwóch głównych technik, są to obsługa asercji i wyjątków. W tym rozdziale omówimy techniki obsługi wyjątków Pythona
Każde zdarzenie, które zakłóca normalne wykonanie przepływu programu, nazywane jest wyjątkiem. Wypróbuj blok zawiera możliwe kody generowania błędów. Porządkowanie i zarządzanie tymi wyjątkami jest procesem przeprowadzanym przez blok wyjątków, który jest wstawiany na końcu każdego bloku try. Pojedynczy blok try może skojarzyć więcej niż jeden wyjątek w określonym czasie, natomiast blok else wchodzi w zakres zwykłego przepływu programu. Cały kod, w którym nie jest wymagana ochrona bloku próbnego, jest umieszczany w bloku else programu.

Składnia:

try: Executes when suspicious code is executed
except Exception1: Executed when
exception 1 is raised
except Exception2: Executed when exception 2 is raised
else: If there is no exception then execute this block

Standardowa lista wyjątków

Wyjątek: wszystkie wyjątki klasa bazowa

StopIteration: gdy kolejna metoda iteratora nie wskazuje żadnego obiektu, zgłaszany jest wyjątek

SystemExit : podnoszony przez funkcję sys.exit ().

StandardError: Z wyjątkiem StopIteration i SystemExit działa to jako klasa bazowa dla wszystkich wbudowanych funkcji.

ArithmeticError: Dla wszystkich błędów numerycznych wyjątki te działają jak klasa podstawowa.

OverflowError: W przypadku typu numerycznego, jeśli obliczenia przekraczają maksymalną możliwą wartość, wówczas pojawia się ten błąd.

FloatingPointError: Błąd operacji „float” powoduje ten błąd

ZeroDivisionError: Wywoływany, gdy w kodzie występuje sytuacja dzielenia przez zero

AssertionError: Gdy instrukcja assert zawiedzie, ten błąd zostanie wyzwolony

AttributeError: Gdy odwołanie do przypisania lub atrybutu nie powiedzie się, pojawia się ten błąd

EOFErroR: Wywoływany, gdy nie ma już danych wejściowych z żadnej funkcji i końca pliku

ImportError: Wywoływany, gdy deklaracja importu nie powiedzie się.

KeyboardInterrupt: Wywoływany, gdy występuje przerwa w wykonywaniu programu

LookupError: Wszystkie błędy wyszukiwania należą do tej klasy podstawowej

IndexError: Wywoływany, gdy indeks nie został znaleziony

KeyError: Wywoływany, gdy słownik nie przechowuje wspomnianej wartości klucza

NameError: Wywoływany dla brakującego identyfikatora lokalnie lub globalnie w programie

UnboundLocalError: Wywoływany, gdy używana jest zmienna lokalna bez przypisywania jej żadnej wartości.

EnvironmentError: Klasa podstawowa dla błędów zorientowanych na środowisko, które występują poza pythonem

IOError: Wywoływany, gdy proces wejścia / wyjścia kończy się niepowodzeniem

Błąd składni : wszystkie błędy zorientowane na składnię Pythona są obsługiwane przez ten wyjątek

IndentationError: Nieprawidłowe wcięcie prowadzi do tego rodzaju błędów

SystemError: Występuje w sytuacji, gdy interpreter nie działa zgodnie z oczekiwaniami, ale ten błąd nie powoduje, że program python przestaje działać

SystemExit: Gdy interpreter Pythona używa funkcji sys.exit (), prowadzi to do tego wyjątku. powoduje to nienormalne zakończenie działania kodu, jeśli nie jest odpowiednio obsługiwany.

TypeError: Gdy operacja jest nieprawidłowa dla określonego typu danych, pojawia się monit o błąd

ValueError: Gdy funkcja zawiera poprawny argument typu, ale dla tego argumentu typu podano niepoprawną wartość

RuntimeError: Jeśli którakolwiek z powyższych kategorii nie jest spełniona, wówczas pojawia się ten błąd

NotImplementedError: Wywoływany, podczas gdy metoda nie konfiguracyjna, która chce zostać zastosowana w odziedziczonej klasie, nie jest w rzeczywistości zaimplementowana. Porządkowanie i zarządzanie tymi wyjątkami jest procesem przeprowadzanym przez blok wyjątków, który jest wstawiany na końcu każdego bloku try.

Proces obsługi wyjątków w Pythonie

  • Z wyjątkiem klauzuli z wieloma wyjątkami
  • Z wyjątkiem klauzuli bez wspomnianego wyjątku
  • Z wyjątkiem klauzuli z argumentami

Poniżej omówimy proces obsługi wyjątków w Pythonie

1. Z wyjątkiem klauzuli z wieloma wyjątkami

Pozwala to zadeklarować więcej niż jedną instrukcję oprócz jednej klauzuli oprócz i wszystkie z tych deklarowanych wyjątków mogą zostać podniesione z tej klauzuli oprócz.

Składnia:

try: Code block1
except(Exception1(, Exception2(, …ExceptionN)))):
Executes when one among the exception happens
else: Executed when no exception is raised

2. Z wyjątkiem klauzuli bez wyjątku

Można tutaj przetwarzać wszystkie wyjątki wywołane z bloku try.

Składnia:

try:
Code block1
except:
Executes if any type of exception happens
else:
If there is no exception then execute this block

3. Z wyjątkiem klauzuli z argumentami

Rzeczywista przyczyna wyjątku zostanie zachowana w wartości argumentu

Składnia:

try:
Code block1except
ExceptionType, Argument:
Argument value is printed here

4. Program obsługi wyjątków

Składnia:

try:
fh = open("testfile1", "w")
try:
fh.write("Exception handeling")
finally:
print "Going to close the file"
fh.close()
except IOError:
print "Error: can\'t find file or read data"

Wniosek

Każdy język programowania ma proces zgłaszania wyjątku, ilekroć napotyka nieoczekiwany zestaw sytuacji, a jednym z nich jest Python, który wytwarza głębokie techniki obsługi tych wyjątków, co czyni go silnym bazowym językiem programowania.

Polecany artykuł

Jest to przewodnik po obsłudze wyjątków w Pythonie. Tutaj omawiamy standardową listę wyjątków i proces wraz ze składnią. Możesz także przejrzeć nasze inne sugerowane artykuły, aby dowiedzieć się więcej -

  1. Zalety Pythona
  2. Frameworki Python
  3. Wzory w Pythonie
  4. Kompilatory Python
  5. Obsługa wyjątków w VB.NET (przykłady)
  6. Słownik w Pythonie
  7. Zdarzenia VB.Net