
Ausnahmebehandlung und Variablenbereichsbestimmung in Python
Bei der Verwendung benannter Ausnahmen in Python können Entwickler beim Versuch, dies zu tun, auf Fehler wie NameError oder UnboundLocalError stoßen Greifen Sie außerhalb des Except-Blocks auf die Ausnahme zu. Dieses Verhalten ergibt sich aus der expliziten Festlegung des Gültigkeitsbereichs gebundener Ausnahmen innerhalb der try-Anweisung.
In Python 3 werden gebundene Ausnahmen automatisch am Ende der Ausnahmeklausel gelöscht, um versehentliche Speicherverluste zu verhindern, die durch Zirkelverweise mit dem Stapelrahmen verursacht werden . Daher muss der Ausnahme ein anderer Name zugewiesen werden, damit später darauf zugegriffen werden kann. Zuweisungen wie exc = exc reichen nicht aus.
In Python 2 war diese Löschung aufgrund fehlender Traceback-Referenzen nicht notwendig. Allerdings gab es auch in Python 2 Warnungen zur Vermeidung von Zirkelverweisen.
Um dieses Problem zu umgehen, haben Sie zwei Möglichkeiten. Ein Ansatz besteht darin, die Ausnahme erneut an einen separaten Namen innerhalb des Ausnahmeblocks zu binden und so sicherzustellen, dass dieser neue Name nicht im Gültigkeitsbereich der try-Anweisung liegt.
try:
raise Exception("foo")
except Exception as e:
my_exception = eAlternativ, wenn Sie keinen Zugriff benötigen Zum Ausnahme-Trace können Sie ihn explizit löschen, um potenzielle Speicherlecks zu verhindern.
try:
raise Exception("foo")
except Exception as e:
exc = e
exc.__traceback__ = NoneDenken Sie daran, dass diese Maßnahmen für die Gewährleistung einer ordnungsgemäßen Speicherverwaltung und Ausnahmebehandlung in Python unerlässlich sind. Die ordnungsgemäße Referenzierung und Löschung von Ausnahmen verhindert Speicherlecks und trägt zur Aufrechterhaltung der Codestabilität bei.
Das obige ist der detaillierte Inhalt vonWie greife ich in Python auf Ausnahmen außerhalb des „Exception'-Blocks zu?. Für weitere Informationen folgen Sie bitte anderen verwandten Artikeln auf der PHP chinesischen Website!
Was soll ich tun, wenn beim Einschalten des Computers englische Buchstaben angezeigt werden und der Computer nicht eingeschaltet werden kann?
Das neueste Ranking der zehn besten Börsen im Währungskreis
Einführung in parametrische Modellierungssoftware
Pascal-Tutorial
Einführung in häufig verwendete Top-Level-Domain-Namen
So installieren Sie den PS-Filter
Verwendung von Eigenschaftsbeschreibungen
Wörter verschwinden nach dem Tippen