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.pyOtwó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.pyPo 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.pyBłę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.
$ Python3Teraz 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/0Weź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 () ”.