サーチ…


前書き

Pythonには組み込みの例外がいくつかあります。組み込みの例外は、プログラム内の何かが間違っているときにエラーを出力するように強制します。

ただし、目的に合ったカスタム例外を作成する必要が生じることがあります。

Pythonでは、ユーザーは新しいクラスを作成することによってそのような例外を定義できます。この例外クラスは、Exceptionクラスから直接的または間接的に派生する必要があります。組み込み例外のほとんどは、このクラスからも派生しています。

カスタム例外

ここでは、Exceptionクラスから派生したCustomErrorというユーザー定義の例外を作成しました。この新しい例外は、他の例外と同様に、raise文とオプションのエラーメッセージを使用して呼び出すことができます。

class CustomError(Exception):
       pass

x = 1

if x == 1:
    raise CustomError('This is custom error')

出力:

Traceback (most recent call last):
  File "error_custom.py", line 8, in <module>
    raise CustomError('This is custom error')
__main__.CustomError: This is custom error

カスタム例外をキャッチ

この例は、カスタム例外をキャッチする方法を示しています。

class CustomError(Exception):
     pass

try:
    raise CustomError('Can you catch me ?')
except CustomError as e:
    print ('Catched CustomError :{}'.format(e))
except Exception as e:
    print ('Generic exception: {}'.format(e))

出力:

Catched CustomError :Can you catch me ?


Modified text is an extract of the original Stack Overflow Documentation
ライセンスを受けた CC BY-SA 3.0
所属していない Stack Overflow