except
基本構文
以下のように基底クラスExceptionを用いれば、SystemExit, KeyboardInterrupt以外のすべての例外をキャッチできる。
try:
# 例外が発生しうる処理
except Exception as e:
# 例外発生時の処理例外時のトレースバックを取得したい場合は、以下のようにする。
import traceback
try:
# 例外が発生しうる処理
except Exception as e:
# 例外発生時の処理
error_message = traceback.format_exc()elseで正常終了時の処理、finallyで終了時の処理を記述できる。
両方記載されて終了時の場合は、else側が先に実行される。
try:
# 例外が発生しうる処理
except Exception as e:
# 例外発生時の処理
else:
# 正常終了時の処理
finally:
# 終了時の処理例外別に処理を分けたい場合は、exceptを複数記述する。
カスタム例外
自作クラスを作成した場合、カスタム例外を定義したくなる。
よくあるケースとしては、Python外のバイナリを実行して、プロセスのエラーで例外を出したい場合など。
Exceptionクラスを継承した、カスタム例外の空クラスを作成し、raiseすればよい。
Last updated