Pythonでは、raise
キーワードを使用して自分で例外を発生させることができます。基本的な使い方は、「raise Exception」のように、Exceptionの後に任意のエラーメッセージを記述する形式となります。
例えば、以下のコードでは、0での割り算が行われるため、ZeroDivisionError
が発生します。
def divide(x, y):
return x / y
print(divide(1, 0))
また、Pythonでは、「try-except」構文を用いて例外を捕捉し、適切に処理します。「try」ブロック内で実行したコードが何らかの例外を投げたとき、その例外は「except」ブロックで捕捉され、指定した処理が実行されます。
def divide(x, y):
try:
result = x / y
except ZeroDivisionError:
raise ValueError("Cannot divide by zero")
return result
print(divide(1, 0))
このように、「raise」を使うことで、特定の例外状況に対してカスタムエラーメッセージを提供できます。
さらに、「raise」を活用した例外処理の実践例を紹介します。
入力値チェックの例外処理
入力値のチェックは、プログラムが適切に動作するための重要なステップです。不適切な入力値が関数やメソッドに渡されると、予期せぬ動作やエラーを引き起こす可能性があります。
def square_root(x):
if x < 0:
raise ValueError("x cannot be a negative number")
return x ** 0.5
print(square_root(-1))
この関数は、引数 x
の平方根を返しますが、x
が負の値の場合、ValueError
を投げます。関数の入力値をチェックすることで、エラーの早期発見と効率的なデバッグが可能になります。
以上がPythonのraise
を用いた例外処理の基本的な使い方とその応用例です。これらの知識を活用して、より堅牢なPythonコードを書くことができます。