Betrachten Sie das einfache Beispiel:Python: Wie innere Ausnahme der Ausnahmekette zu fangen?
def f():
try:
raise TypeError
except TypeError:
raise ValueError
f()
Ich möchte TypeError
Objekt fangen, wenn ValueError
nach f()
Ausführung geworfen wird. Ist es möglich, es zu tun?
Wenn ich Funktion ausführen f()
dann python3 Druck alle angehobenen Ausnahmen Ausnahmekette nach stderr (PEP-3134) wie
Traceback (most recent call last):
File "...", line 6, in f
raise TypeError
TypeError
During handling of the above exception, another exception occurred:
Traceback (most recent call last):
File "...", line 11, in <module>
f()
File "...", line 8, in f
raise ValueError
ValueError
So würde ich die Liste aller Ausnahmen Ausnahmekette erhält oder überprüfen, ob Ausnahme von ein Typ (TypeError
im obigen Beispiel) existiert in der Ausnahmekette.
Ich denke, es ist ein [XY Problem] (http://meta.stackexchange.com/questions/66377/what-is-the-xy-problem). Echte Frage: Was genau willst du hier erreichen (nicht _wie_ willst du das erreichen)? –