Pythonで手動で例外を発生させる方法

Pythonでは、プログラムの特定の条件で手動で例外を発生させるためにraise文を使います。raise文に例外クラスとメッセージを渡すことで、任意のタイミングでエラーを発生させ、エラーハンドリングを行うことができます。

基本的な使い方

def divide(x, y):
    if y == 0:
        raise ValueError("0で割ることはできません")
    return x / y

この例では、yが0の場合にValueErrorが発生します。

カスタム例外の作成

独自のカスタム例外クラスを作成することもできます。既存のExceptionクラスを継承して作成します。

class CustomError(Exception):
    pass
raise CustomError("カスタムエラーが発生しました")

再度例外を発生させる

例外が発生した後にログを記録し、例外を再度発生させる場合は、raise文を使ってトレースバックを保持しながら例外を再発します。

try:
    1 / 0
except ZeroDivisionError as e:
    print("エラー発生:", e)
    raise

結論

raise文を使えば、任意のタイミングで例外を発生させることができ、エラーハンドリングをより細かく制御できます。カスタム例外を定義することで、特定の状況に対応した例外処理が可能です。