Ist es in Python vernünftig, eine generische Ausnahme abzufangen und dann isinstance()
zu verwenden, um den spezifischen Typ der Ausnahme zu erkennen, um sie entsprechend zu behandeln?
Ich spiele gerade mit dem dnspython-Toolkit herum, das eine Reihe von Ausnahmen für Dinge wie ein Timeout, eine NXDOMAIN-Antwort usw. hat. Diese Ausnahmen sind Unterklassen von dns.exception.DNSException
, also frage ich mich, ob es vernünftig ist oder pythonisch, um DNSException
abzufangen, dann überprüfe mit isinstance()
nach einer bestimmten Ausnahme.
z.B.
%Vor%Ich bin neu bei Python, sei also sanft!
Dafür gibt es mehrere except
-Klauseln:
Seien Sie vorsichtig bei der Reihenfolge der Klauseln: Die erste übereinstimmende Klausel wird übernommen, also verschieben Sie die Prüfung für die Superklasse bis zum Ende.
Von dns.resolver können Sie einige Ausnahmen importieren. (ungetesteter Code)
%Vor%Tags und Links python exception-handling introspection dnspython