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