Kod śledzenia w Python

Kod śledzenia w Python
Python drukuje kod śledzenia, a nasz kod daje wyjątek. Kod śledzenia jest często dodatkowo znany jako Traceback lub Covertrace. Jednak wybieramy użycie śladu stosu. Kod śledzenia może wydawać się katastrofalny, gdy widzimy to w pierwszym czasie.

Chociaż kod śladu Pythona zawiera sporo cennych danych, które pozwalają nam uświadomić sobie podstawę problemu. Zrozumienie, co podaje ślad Pythona, ma kluczowe znaczenie dla przekształcenia się w wyższego programisty Pythona.

Ponadto kod śledzenia drukuje wszystkie połączenia poprzedzające metodę, która daje wyjątek. We wszystkich sytuacjach linia zamykająca kodu śledzenia drukuje maksymalne wycenione dane, ponieważ tutaj błąd jest wydrukowany. W tym artykule omówiliśmy kody śladowe w Pythonie.

Nameerror:

Kod śledzenia składa się z wywołań metody za pośrednictwem naszego kodu poprzedzającego występowanie błędu. Gdy program podaje wyjątek, wydrukuje kod śledzenia. Poniżej znajduje się przykład Pythona, który przyniesie wyjątek. Otrzymujemy nazwę NameError, jeśli zawieramy odwołanie do zmiennej, klasy, metody lub kilku różnych połączeń, które nie zostały opisane w naszym kodzie.

def say (wiek):
Drukuj („hej” + ag)
Powiedz ('24 ')

W tym kodzie funkcja say () zawiera argument „wieku”. Ale popełniliśmy błąd przy użyciu nieprawidłowej zmiennej w instrukcji print (). Jak mogliśmy zobaczyć, wspominamy o „ag” w preferencji w wieku. Kiedy wykonujemy ten kod, daje nam ten ślad stosu:

To wyjście pokazuje, jaki rodzaj błędu się wydarzył: NameError. Ten rodzaj wyjątku stwierdza, że ​​w tym kodzie wspomnieliśmy o zmiennej, która nie występuje. Gdy badamy dalej, poinformuje nas o tym, o jakiej zmiennej próbowaliśmy wspomnieć.

Tutaj „AG” nie jest dobrze zdefiniowane. Ogólnie rzecz biorąc, ten wyjątek wyraża nas, że klasa, zmienna lub funkcja została fałszywie odwoływana.

AtrybuteError:

AttributeError jest podwyższony, gdy próbujemy uzyskać atrybut na elemencie, który nie zawiera tego określonego atrybutu. Zobaczymy w programie, w jaki sposób otrzymamy ten rodzaj wyjątku.

a_num = 6
a_num.Hania

Po wykonaniu kodu poda atrybuteRor, gdy chcemy uzyskać atrybut „hania” obiektu „int”. Ale tutaj obiekt „int” nie zawiera zdefiniowanego atrybutu „Hania”.

AttributeError pokazuje nam, że konkretny element rodzaj, int w tej sytuacji, nie zawiera pobranego atrybutu „Hania”. Uzyskanie atrybuteError w danych wyjściowych, szybko uświadommy sobie, który atrybut próbujemy uzyskać i w jakim stanie naprawimy ten błąd.

Ten komunikat o błędzie informuje nas, że w opisanym elemencie nie ma atrybutu „Hania”. Oświadczenie praktycznie zawiera liczbę całkowitą. To nie jest niezwykły błąd, ponieważ zakładalibyśmy charakterystyczny rodzaj dla przedmiotu, z którym pracujemy.

ImporterRor:

Otrzymujemy importerRor, podczas gdy coś idzie niepoprawnie z deklaracją importową. Uzyskamy ten wyjątek moduleNotFoundError, jeśli element, który próbujemy importować.

import lmn

W tym przykładzie importerror uzyskuje się poprzez importowanie tego modułu, który nie istnieje.

Tutaj staramy się wprowadzić moduł, który nie występuje, konsekwencje „LMN” w moduleNotFoundError. Próbując zaimportować jakiś element lub komponent, który nie przedstawia „LMN” z jednostki, która się pojawia, powoduje to importerror. Więc „LMN” nie byłby importowany.

Błąd składni:

Ten błąd jest podniesiony, jeśli mamy niewłaściwą składnię Pythona dla naszego kodu. SkładnioweStorr występuje z powodu braku okrężnicy po zdefiniowaniu funkcji. Poniżej tęsknimy za dwukropkiem w tym kodzie, który musi znajdować się na zakończeniu linii, która określa funkcję.

Def powiedz (numer)
Drukuj („hej” + liczba)
Powiedz („345676”)

Po naciśnięciu przycisku Enter, otrzymujemy ten błąd składni. Jak mogliśmy zauważyć, ^ znak wskazuje na to, gdzie problem miał. Tutaj sugeruje, że brakuje kilku składni w zakończeniu zdefiniowania funkcji.

Tutaj brakuje okrężnicy z definicji funkcji. Ale nie informuje nas dokładnie o tym, co jest nieprawidłowe z składnią. W rzeczywistości, ze względu na składniowe źródło, linie kodu nie są wykonywane.

Jak poradzić sobie z wyjątkami w Pythonie?

Wyjątkiem jest błąd rzucany za pośrednictwem programu podczas jego wdrażania. Na szczęście możemy poradzić sobie z wyjątkami tych na pewnym etapie wdrażania programu, aby kody się nie rozbijają.

Kiedy otrzymamy wyjątek, przełamuje bieżącą implementację kodu i bezzwłocznie daje wyjątek w wyjściu. Teraz chcemy zapisać program, aby zająć się zwolnieniami. Sprawdźmy instancję atrybuteerror.

Import Sys
próbować:
a_num = 6
a_num.Hania
z wyjątkiem AttributeError:
print („błąd: właściwość nie istnieje”)
Sys.Wyjście()

Aby przejść poza wyjątkiem, wykorzystamy procedurę wypróbowania, która pozwala przejąć zwolnienie. Zmodyfikujmy program pierwszej próby. W przypadku awarii programu musimy zająć się wyłączeniem.

Jeśli kod rzuca wyjątek, musimy rozwiązać wyjątek. Więc wybieramy tekst, po czym kod jest zakończony. Mimo to, jeśli nie chcemy zakończyć programu. Możemy poradzić sobie z błędem i ponownie skontaktować się z funkcją lub kierować ten błąd do użytkownika bez kończenia kodu.

Wniosek

Kod śledzenia Pythona zawiera różne fakty, które pozwalają nam zlokalizować to, co jest nieprawidłowe do kodu Pythona. Traceback mogą wydawać się nie do przybycia, jednak po rozbiciu go, aby zobaczyć, co próbuje nam ujawnić, mogą być wyjątkowo korzystne.

Przejście za pośrednictwem niektórych linii kodu śledzenia dostarczy nam wiedzy o szczegółach, które zawierają i pomoże nam uzyskać z nich maksimum. Uzyskanie wyjścia śladu Pythona podczas wykonywania kodu jest możliwe ulepszenie naszego kodu. W Pythonie przez wyjście Traceback diagnozujemy błędy, które otrzymujemy po wykonaniu kodów.