web-dev-qa-db-ja.com

Python:複数の例外を試す

Pythonでは、1つのexceptステートメントに対して複数のtryステートメントを使用できますか?といった :

try:
 #something1
 #something2
except ExceptionType1:
 #return xyz
except ExceptionType2:
 #return abc
146
Eva611

はい、可能です。

try:
   ...
except FirstException:
   handle_first_one()

except SecondException:
   handle_second_one()

except (ThirdException, FourthException, FifthException) as e:
   handle_either_of_3rd_4th_or_5th()

except Exception:
   handle_all_other_exceptions()

参照: http://docs.python.org/tutorial/errors.html

「as」キーワードは、エラーを変数に割り当てるために使用され、コードの後半でエラーをより徹底的に調査できるようにします。また、python 3ではトリプル例外の場合の括弧が必要であることに注意してください。このページには詳細情報があります。 1行で複数の例外をキャッチ(ブロックを除く)

253
vartec