Python で一般的な例外をキャッチし、isinstance()
それを適切に処理するために特定のタイプの例外を検出するために使用するのは合理的ですか?
私は現在、dnspython ツールキットをいじっています。これには、タイムアウト、NXDOMAIN 応答などのさまざまな例外があります。これらの例外は のサブクラスでdns.exception.DNSException
あるため、キャッチするのが合理的か、Pythonic かどうか疑問に思っています。DNSException
次に、特定の例外をチェックしisinstance()
ます。
例えば
try:
answers = dns.resolver.query(args.host)
except dns.exception.DNSException as e:
if isinstance(e, dns.resolver.NXDOMAIN):
print "No such domain %s" % args.host
elif isinstance(e, dns.resolver.Timeout):
print "Timed out while resolving %s" % args.host
else:
print "Unhandled exception"
私はPythonが初めてなので、優しくしてください!