Pythonでは、プログラムの特定の要件に対応するために、独自の例外を定義することが可能です。これにより、エラーメッセージをより具体的かつ明確にすることができます。
独自の例外を作成するためには、まず新しいクラスを定義します。この新しいクラスは一般的にException
クラスまたはそのサブクラスから継承します。
例えば、以下のコードはValueTooHighError
とValueTooLowError
という2つの独自の例外クラスを定義しています:
class ValueTooHighError(Exception):
pass
class ValueTooLowError(Exception):
pass
ここでpass
は、クラスに何も追加しないことを意味します。ただし、エラーメッセージなどの追加情報を提供するためにクラスをカスタマイズすることも可能です。
次に、これらの新しい例外をraise
ステートメントで使用します:
def test_value(x):
if x > 100:
raise ValueTooHighError("Value is too high.")
if x < 5:
raise ValueTooLowError("Value is too low.")
try:
test_value(200)
except ValueTooHighError as e:
print(e)
try:
test_value(3)
except ValueTooLowError as e:
print(e)
このプログラムでは、test_value
関数が引数として取る値が特定の範囲外にある場合、独自に定義した例外が引き上げられます。それぞれの例外はtry
/except
ブロックで捕捉され、適切なエラーメッセージが表示されます。
このように、独自の例外を作成することで、エラーハンドリングをより具体的で明確にすることが可能です。