Jak złapać wszystkie wyjątki w Pythonie

Jak złapać wszystkie wyjątki w Pythonie
Programiści często klasyfikują wyjątki jako usterki kodu, które powodują błędy za każdym razem, gdy program jest wykonywany. Wyjątki reprezentują błędy, które mają miejsce w wyniku skryptu. Niektórzy programiści nadal nie mogą odróżnić błędów, a także wyjątkami. Większość takich błędów wydaje się logiczna. W Pythonie wyjątki są złapane za pomocą prostej logiki. Ilekroć interpreter Python napotyka wyjątek, kończy przepływ pracy. Jest to rozwiązane przez przechodzenie przez procedurę połączeń. Oprogramowanie zawiedzie, jeśli to nie zostanie zrobione. Aby rozróżnić błędy i wyjątki, istniały dwie kategorie błędów, które należy rozważyć:
  • Błędy składniowe
  • Błędy logiczne (wyjątki)

Błąd składni

Aby zobaczyć działanie błędów logicznych, musimy najpierw przejść przez przykład błędu składni. Otwórz terminal powłoki za pomocą „Ctrl+alt+t” z klawiatury. Po otwarciu powłoki utworzymy nowy plik Python. Aby utworzyć plik, napisz poniżej podane zapytanie pokazane na obrazie.

$ Touch Test.py

Otwórzmy plik „Testuj.py ”z lokalnego katalogu domowego poprzez podwójne stukanie. Po otwarciu pliku napisz poniższy kod w nim takim. Musisz najpierw zrozumieć ten kod. Dodaliśmy do niego wsparcie Pythona. Następnie zainicjowaliśmy zmienną słownikową „wieki”, aby dodać dwa klucze z dwiema wartościami. Nie dodaliśmy przecinka między obiema klawiszami. To będzie nasz błąd składni w czasie wykonywania. Następnie wydrukowaliśmy kluczowy „aqsa” i jego wartość ze słownika. Zapisz swój plik za pomocą Ctrl+S i kliknij przycisk krzyżowy, aby go zostawić.

Uruchommy nasz plik według wersji Python3 jak poniżej. Obraz wyjściowy pokazuje błąd składni, mówiąc: nieprawidłowa składnia, ponieważ przecinka brakuje w instrukcji. Możesz zobaczyć, że nie ma błędu logicznego.

$ Python3 Test.py

Po prostu szybko zaktualizujmy kod, dodając przecinek w instrukcji, aby zapobiec błędom składniowym. Zapisz ten kod i zamknij go przez znak krzyżowy z prawej strony okna.

Uruchommy nasz plik ponownie, aby zobaczyć wynik według wersji Python3. Wyjście poniższej migawki pokazuje poprawne wyjście bez składni lub błędów logicznych.

$ Python3 Test.py

Błędy logiczne

Błędy logiczne to te wyjątki, które występują w czasie działania z powodu pewnego błędu logicznego w naszym kodzie. Na początku tego przewodnika wspomnieliśmy o złapaniu wszystkich wyjątków w tym samym czasie. Ale aby zrozumieć tę koncepcję, najpierw potrzebujemy szybko, aby złapać jeden wyjątek na raz. Stąd otwórz terminal powłoki i przekonwertuj go na format kodu Python3, aby użyć na nim Pythona za pomocą poniższego zapytania, jak pokazano na obrazie.

$ Python3

Teraz terminal jest gotowy do użycia do kodowania. Dodaj instrukcję, która pokazuje w nim błąd logiczny. Powiedzmy, że dodaliśmy „2/0”, co nie jest możliwe w matematyce. To powinno więc rzucić jakiś błąd logiczny. Wprowadź go na Shell i naciśnij Enter. Dane wyjściowe pokazuje „zerodivisionError”, ponieważ cokolwiek podzielone przez zero nie może zwrócić odpowiedzi.

>>> 2/0

Weźmy kolejny przykład złapania jednego wyjątku na terminalu. Otwórz plik, który nawet nie jest utworzony ani nie znaleziony w bieżącym katalogu lokalnym Linux, jak poniżej. Rzuci wyjątek „FilleotFoundError” w czasie wykonywania, ponieważ w naszym systemie nie ma takiego pliku.

>>> Otwórz („Dwa.tekst")

Przykład: Wyjątki złap wszystkie

Wreszcie! Czas uzyskać wszystkie wyjątki w jednym miejscu. Stąd otwórz test pliku Pythona.Py z obecnego katalogu domowego systemu Linux. Teraz napisz wyświetlany poniższy kod. Ten kod zawiera listę „L” z różnymi rodzajami elementów. Użyliśmy pętli „dla”, aby uzyskać każdą wartość z listy i zastosować do niej instrukcję TRY. Instrukcja TRY najpierw wydrukuje ten element z listy. Następny wiersz najpierw przekonwertuje ten element na typ liczby całkowitych, a następnie podzieli 1 z tym konwertowanym elementem. Następnie użyliśmy instrukcji oprócz, która wydrukuje nazwę wyjątku, która miała miejsce z powodu instrukcji „spróbuj” za pomocą SYS.Metoda esc_info (). Kolejny ciąg zostanie wydrukowany, a następnie po instrukcji „oprócz” ciała, zainicjowaliśmy instrukcję drukowania, aby wydrukować wynik podziału, który został wykonany w celu wypróbowania instrukcji. Naciśnij Ctrl+S, aby zapisać plik i naciśnij na przycisk krzyżowy, aby szybko go zamknąć. Teraz otwórz terminal, aby zobaczyć działanie naszego kodu.

Wykonaj zapytanie poniżej, aby uruchomić ten plik. Dane wyjściowe pokazuje wynik instrukcji drukuj „Wynik jest„ używany w instrukcji „spróbuj” dla każdego elementu listy. Ponieważ pierwsze dwa elementy listy to zmienne ciągów i wielu, podział nie może wystąpić. To prowadzi do różnych błędów. Pierwsza instrukcja „oprócz” została wykonana i pokazuje nazwy błędów za pomocą SYS.metoda exc_info (). Ze względu na wyjątek trzecia instrukcja drukowania z klauzuli „Z wyjątkiem” zostanie wykonana dla obu pierwszych dwóch elementów listy. Ale w wyjściu można zobaczyć, że wynik dla trzeciej wartości nie rzuca żadnego wyjątku. Wynika to z faktu, że trzeci element listy jest liczbą całkowitą i można go doskonale podzielić przez 1. W tym przypadku instrukcja oprócz tego nie wykonała; W ten sposób kontrola została przekazana do najbardziej zewnętrznej instrukcji drukowania i wyświetla wynikową wartość generowaną przez podział.

Wniosek

W tym artykule omówiliśmy składnię i błędy logiczne. Co najważniejsze, omówiliśmy metodę złapania wszystkich wyjątków w naszym artykule za pośrednictwem „Sys.Wykorzystanie metody exc_info () ”.