Python

Python-Traceback-Tutorial

Python-Traceback-Tutorial
Sobald beim Ausführen des Codes eine Ausnahme erstellt wird, zeigt Python ein Traceback an. Ein Traceback scheint ein Bericht in Python zu sein, der die Funktionsaufrufe an einer bestimmten Stelle im Code enthält, d. h.e., Sobald Sie einen Fehler haben, wird empfohlen, ihn rückwärts zu löschen (Traceback). Der Traceback kann Details darüber liefern, was mit dem Code passiert ist, wenn der Code einen Fehler erhält. Solche Tracebacks sehen vielleicht ein wenig anstrengend aus, aber sie können wirklich nützlich sein, bis Sie sie zerlegen und sehen, was sie Ihnen beibringen möchten. Es gibt viele Daten im Python-Traceback, die Ihnen helfen, die Ursache für das in Ihrem Code generierte Problem zu analysieren und zu korrigieren.

Interpretieren Sie den Traceback:

Wenn Sie sich einige Tracebacks ansehen, können Sie das Wissen, das sie liefern, besser interpretieren, damit Sie etwas daraus ziehen können. Werfen wir einen Blick auf die Interpretation, wie eine grundlegende Ausnahme zurückverfolgt werden kann. Hier ist ein Beispiel für einen einfachen Code, der einen Traceback-Fehler bei der Ausführung von Spyder generiert (Python 3).

Unten ist das Fehlerrückverfolgungsbild. Die erste Zeile zeigt den Dateispeicherort. Hier sind einige Spezifikationen für alle Linien mit Farben.

Weiß: Traceback (letzter Aufruf zuletzt) ​​ist eine Traceback-Anweisung. Auf der anderen Seite zeigt der weiße Teil der letzten Zeile die zugehörigen Fehlerinformationen an.

Grün: Die Angabe eines Dateinamens und Speicherorts hat einen Fehler.

Blau: Zeigt die Zeilennummer einer Datei an, in der der Fehler aufgetreten ist.

Gelb: Es zeigt die tatsächliche Zeile an, in der eine Ausnahme aufgetreten ist.

Rot: Fehlerart.

Hier sind ein paar wichtige Fehler im Traceback:

NameFehler
IndexFehler
Schlüsselfehler
Typfehler
valueError
ImportFehler /ModuleNotFound

Namensfehler:
Immer wenn Sie eine Variable interpretieren möchten, die nicht im Code angegeben wurde, erscheint NameError. Hier ist ein einfaches Beispiel für NameError Traceback. Wir haben eine Variable 'Nummer' mit einem gewissen Wert definiert, während im drucken Aussage haben wir gedruckt 'gefühllos', was nirgendwo im Code definiert ist. Lassen Sie uns diesen Code ausführen und prüfen, was passiert.

Sie können sehen, dass der NameError-Traceback aufgetreten ist, da wir die Variable 'numb' nicht definiert haben. Wie kann sie also ausgedruckt werden?. Deshalb zeigt dieses Programm den NameError an und ergänzt ihn mit zusätzlichen Informationen in der letzten Zeile mit weißem und rotem Text. Gelber Text zeigt den genauen Code an, an dem der Fehler auftritt.

Indexfehler:

Ein IndexError wird erzeugt, wenn eine Reihe außerhalb der Reichweite im Code definiert ist. Wir haben a . definiert aufführen genannt 'Neu' haben 5 Indizes mit einigen Werten drin. Danach müssen wir den print-Befehl angeben, um den Wert at . auszugeben Index Nummer 9.

Wenn wir diesen Code ausführen, wird IndexError generiert, der einen Index außerhalb des Bereichs definiert. Da wir eine Liste mit 5 Indizes definiert haben, kann daher auf die gedruckte Indexnummer, die 9 ist, nicht zugegriffen werden, da sie nicht in unserem Sortiment ist.

Schlüsselfehler:

Python generiert einen Schlüsselfehler, wenn Sie versuchen, die zu erreichen Schlüssel welches ist nicht definiert oder gemappt, insbesondere von a Wörterbuch. Es ist eher wie ein IndexError. Schauen wir uns also ein einfaches Beispiel für ein Wörterbuch namens an 'zufällig' mit zwei darin definierten Schlüsseln mit einigen Werten, die diesen Schlüsseln zugewiesen sind. In der nächsten Zeile haben wir den Schlüssel namens . gedruckt 'EIN' in der Druckaussage.

Oh! Wir haben Traceback KeyError. Dies liegt an einem falschen Schlüssel in der print-Anweisung, der nicht im Wörterbuch definiert ist. Man kann einen Fehler machen, wenn man einen Großbuchstabenschlüssel angibt, während das Wörterbuch einen Kleinbuchstabenschlüssel enthält.

Typfehler:

TypeError ist als Ausnahme definiert, die auftritt, wenn eine Operation oder Methode zu einem verschmiert wurde unpassender Typ einer Entität oder Variable. Wir haben ein Beispiel für eine einfache Variable, die zwei Werte annimmt, während diese Zeichenfolge beide Werte addiert. Der erste Wert ist ein String-Typ und der andere ein Integer-Typ. Die print-Anweisung gibt das Ergebnis der Addition aus.

Wenn dieser Code ausgeführt wird, löst er die Ausnahme aus. Bei dieser Ausnahme handelt es sich um den falschen Objekttyp, der verkettet wird. Es ist aufwendig, dass Sie eine Variable vom Typ String nicht mit einer Variablen vom Typ Integer hinzufügen können.

Wertfehler:

Value Error ist als Ausnahme definiert, die nur auftritt, wenn einige eingebaute Methode nimmt die Argument vom richtigen Typ aber die falscher Wert drin. Schauen wir uns ein kleines Beispiel an. Wir verwenden eine eingebaute Methode von int() mit einem String-Wert in einer print-Anweisung.

Wenn Sie diesen einzeiligen Code ausführen, wird ein ValueError generiert, da wir eine Funktion vom Typ Integer verwenden, während wir ihm einen auszuführenden String-Wert zuweisen. Deshalb wird angezeigt, dass die Funktion int() einen ungültigen Wert enthält value.

Auf der anderen Seite, wenn Sie ihm einen Bruchwert geben, wird er in einen ganzzahligen Wert umgewandelt.

Dieser Code gibt 11 aus, da er nur den ganzzahligen Teil verwendet, während der Dezimalteil vollständig ignoriert wird.

Importfehler/Modul nicht gefunden:

Manchmal muss man importieren einige Pakete oder Module in Ihrem Python-Code, um spezielle Funktionalitäten durch sie zu nutzen. Sie werden einen ImportError-Traceback finden, wenn es sich um eine Import-Anweisung im Code handelt. Dieser Traceback-Fehler tritt auf, wenn Sie unfähig zu finden das spezifische Modul oder etwas aus dem Paket. Hier haben wir zwei Module importiert, 'Pip' und 'Java', in unserem Code.

Während der Ausführung dieses Codes wird ModuleNotFoundError-Traceback zurückgegeben. Dies liegt daran, dass das importierte Modul 'java' von der Python-Bibliothek nicht unterstützt wird. Auf der anderen Seite gibt es keine Ausnahme beim Importieren des 'pip'-Moduls, da es sich um ein von Python unterstütztes Modul handelt.

Fazit:

Der Python-Traceback bietet hervorragende Kenntnisse, die Ihnen helfen, herauszufinden, was im Code falsch läuft. Egal, ob Sie dies zum ersten Mal tun oder einfach nicht verstehen, was es tut, die Traceback-Generierung kann ein wenig entmutigend sein. Um ein stärkerer Python-Programmierer zu werden, ist es wichtig zu lernen, welche Details ein Python-Traceback liefert.

POSIX-Thread mit C-Programmierung
Ein Thread ist eine kleine Instanz, die innerhalb eines Prozesses ausgeführt wird. Threads werden kombiniert, um einen Prozess zu erstellen, und sie h...
POSIX Shared Memory mit C-Programmierung
POSIX Shared Memory ist ein Framework für die Interprozesskommunikation (IPC), das in den POSIX-Spezifikationen spezifiziert ist. Zwei (oder mehr) Tas...
Posix Open-Funktion mit C-Programmierung
Das Konzept des Dateihandlings wird in allen Programmiersprachen umfassend verwendet. Speziell für C und C++ finden Sie umfangreiche Literatur zu den ...