ひとりでのアプリ開発 - fineの備忘録 -

ひとりでアプリ開発をするなかで起こったことや学んだことを書き溜めていきます

Python - 例外処理:try, except, else, finally, as, raise

初めに

 本記事では、Pythonにおける例外処理についてまとめます。tryexceptelsefinallyasraiseを使用します。

例外処理とは

 プログラムの実行中に予期せぬエラーや例外が発生した場合に、それらを適切に処理するための方法です。

基本構文

 Pythonの例外処理の基本的な構文は次の通りです。

try:
    # 例外が発生する可能性のあるコードを記述する
    # 例えば、ファイルの読み書き、外部APIの呼び出し、計算など
    result = 10 / 0  # 0で割り算を試みるとZeroDivisionErrorが発生する例
except ZeroDivisionError:
    # 特定の例外が発生した場合の処理を記述する
    print("0で割ることはできません。")
except Exception as e:
    # 上記以外の例外が発生した場合の処理を記述する
    print("予期せぬエラーが発生しました:", e)
else:
    # 例外が発生しなかった場合の処理を記述する
    print("計算結果:", result)
finally:
    # 例外の有無に関わらず、最終的に実行される処理を記述する
    print("処理が完了しました。")

 exceptelsefinallyは省略可能です。

 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)