[Python]独自の例外の作成

Pythonでは、プログラムの特定の要件に対応するために、独自の例外を定義することが可能です。これにより、エラーメッセージをより具体的かつ明確にすることができます。

独自の例外を作成するためには、まず新しいクラスを定義します。この新しいクラスは一般的にExceptionクラスまたはそのサブクラスから継承します。

例えば、以下のコードはValueTooHighErrorValueTooLowErrorという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ブロックで捕捉され、適切なエラーメッセージが表示されます。

このように、独自の例外を作成することで、エラーハンドリングをより具体的で明確にすることが可能です。