Gibt es irgendwie ich kann Sie bekommen spezifische Informationen über eine AttributeError-Ausnahme in Python?
Ich versuche, eine Funktion aufzurufen. Einer der Parameter ist eine variable mit Parametern (von denen ich weiß, weil der AttributeError-Ausnahme, die ich bekam). Ich weiß nicht die genauen Attribute, die diese variable haben soll, so Frage ich mich, ob es einen Weg, ich kann sehen, einige zusätzliche details über die Ausnahme ist, zum Beispiel, auf welches Attribut Sie nicht finden konnte. Danke.
- Sie sollten sagen, welchen code verursacht das Attribut Fehler in den traceback. Sie können auch die Quelle für die Funktion, die Sie aufrufen.
- Ich habe nicht die Quelle für die Funktion, die ist, warum dies ein problem.
- Es ist ziemlich schwer zu nennen eine Funktion in Python, die Sie nicht haben, die Quelle zu; ist es eine C-Erweiterung? Nur eine .pyc Datei?
- So etwas wie, dass. Es ist ein Programm, wo Sie sind erlaubt zu machen eigene plugins in python, aber es gibt keine Dokumentation.
- wie das denn"? Hier ist ein Tipp. Post die eigentliche Fehlermeldung sind Sie eigentlich immer. Alle von ihm. Mit Informationen, wir sind darauf angewiesen, ESP.
Du musst angemeldet sein, um einen Kommentar abzugeben.
AttributeError
bezeichnet normalerweise das fehlende Attribut. z.B.:Wenn ich Laufe, sehe ich:
Das ist ziemlich explizit. Wenn Sie nicht sehen, so etwas wie, dass, poste bitte die genaue Fehlermeldung du bist sehen.
BEARBEITEN
Wenn Sie brauchen, um die Kraft der Druck einer Ausnahme (warum auch immer), können Sie dies tun:
Das sollte Ihnen die vollständige Fehlermeldung und traceback-verbunden mit Ausnahme.
AttributeError
Nachricht." So ist jetzt haben Sie die vollständige Rückverfolgung und Meldung für die Ausnahme. Drucken Sie die Ausnahme in Ihremexcept
- Klausel.Wird die traceback-Alarm sollte man auf das Attribut zugreifen, die den
AttributeError
Ausnahme:Alternativ konvertieren Sie die
Exception
zustr
:Wenn Sie möchten, um eine Liste der verfügbaren Attribute auf ein Objekt, versuchen
dir()
oderhelp()
Können Sie selbst nennen
help()
aufdir
(warum ist Links als übung für den Leser):Versagt diese... Sie konnte immer Blick auf den code, es sei denn, Sie haben schon einige vorkompilierte Modul von einem Drittanbieter, in diesem Fall sollten Sie verlangen bessere Dokumentation (sagen einige unit-tests!) von Ihren Lieferanten!
In der Regel
AttributeError
trägt einige Informationen über diese mit: