はじめに
Pythonのコードを実行中にさまざまなエラーや例外が発生することがある。それらの場合を想定して、エラー処理を適切に行えるように、本記事では、Pythonのエラー処理構文についてまとめる。
エラー処理の基本構文
Pythonでは、エラー処理のためにtry
とexcept
を使用する。基本的な構文を次に示す。
try:
# エラーが発生する可能性のある処理
except エラーの種類:
# エラーが発生した場合の処理
次に例を示す。
try:
result = 10 / 0
except ZeroDivisionError:
print("ゼロで除算することはできません。")
このコードを実行すると、ゼロ除算を試みた際にZeroDivisionError
が発生し、対応するexcept
ブロックが実行される。
複数種類のエラー処理
次のコードで複数の異なるエラーを個別に処理することができる。
try:
# エラーが発生する可能性のある処理
# ゼロで除算しようとした場合
except ZeroDivisionError:
print("ゼロで除算することはできません。")
# 指定されたファイルが見つからない場合
except FileNotFoundError:
print("ファイルが見つかりませんでした。")
# その他のエラーが発生した場合
except Exception as e:
print(f"予期しないエラーが発生しました: {e}")
「その他のエラーが発生した場合」について、汎用的なException
クラスを使用している。
else
とfinally
else
ブロックはtry
ブロックが成功した場合に、finally
ブロックは例外の有無にかかわらず必ず実行される。
try:
result = 10 / 2
except ZeroDivisionError:
print("ゼロで除算することはできません。")
else:
print(f"計算結果は: {result}")
finally:
print("処理が終了しました。")
上記のコードは次のような挙動となる。
- エラーが発生しない場合にelseブロックが実行される
- 例外の有無にかかわらず、finallyブロックが実行される
参考