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 -
- Zalety Pythona
- Frameworki Python
- Wzory w Pythonie
- Kompilatory Python
- Obsługa wyjątków w VB.NET (przykłady)
- Słownik w Pythonie
- Zdarzenia VB.Net