Python - 例外処理:try, except, else, finally, as, raise
初めに
本記事では、Pythonにおける例外処理についてまとめます。try、except、else、finally、as、raiseを使用します。
例外処理とは
プログラムの実行中に予期せぬエラーや例外が発生した場合に、それらを適切に処理するための方法です。
基本構文
Pythonの例外処理の基本的な構文は次の通りです。
try: # 例外が発生する可能性のあるコードを記述する # 例えば、ファイルの読み書き、外部APIの呼び出し、計算など result = 10 / 0 # 0で割り算を試みるとZeroDivisionErrorが発生する例 except ZeroDivisionError: # 特定の例外が発生した場合の処理を記述する print("0で割ることはできません。") except Exception as e: # 上記以外の例外が発生した場合の処理を記述する print("予期せぬエラーが発生しました:", e) else: # 例外が発生しなかった場合の処理を記述する print("計算結果:", result) finally: # 例外の有無に関わらず、最終的に実行される処理を記述する print("処理が完了しました。")
except、else、finallyは省略可能です。
asを使って例外情報を受け取ることができます。
except Exception as e: # 上記以外の例外が発生した場合の処理を記述する print("予期せぬエラーが発生しました:", e)
raise
raiseは意図的に例外を発生させるために使用されます。プログラムの実行中に特定の条件が満たされた場合やエラーが発生した場合に、自分で例外を発生させることができます。
def check_age(age): if age < 0: raise ValueError("年齢は負の値にすることはできません。") elif age < 18: raise ValueError("未成年者はこのサービスを利用することができません。") else: print("サービスへのアクセスが許可されました。") try: check_age(15) except ValueError as e: print("エラーが発生しました:", e)