同じ「タイプ」を持つさまざまな例外を処理する方法を知りたいです。ディレクトリを作成するためにいくつかのコードを使用しようとしています:
os.mkdir(target_dir_name)
また、ディレクトリが既に存在する場合など、さまざまな理由でこれが失敗する可能性があることもわかっています。
OSError: [Errno 17] File exists:
または、新しいディレクトリを作成する権限がない場合:
OSError: [Errno 13] Permission denied:
エラー メッセージを特定の失敗の原因に合わせて調整したいので、次のコードを思いつきました。
try:
os.mkdir(target_dir_name)
except OSError as e:
if e.errno == 17:
print "Warning: Directory %s already exists, executing a rebuild" % (target_dir_name)
elif e.errno == 13:
sys.exit("Error: Directory "+target_dir_name+" cannot be created incorrect permissions")
しかし、私はもう少しハードコードされていないことをしたいと思っています。サブエラーチェックを更新できる Pythonic の方法はありますか?