Pythonでユーザー定義の例外を実装するにはどうすればよいですか?
Pythonで新しい例外クラスを作成することにより、ユーザー定義またはカスタムの例外を作成します。アイデアは、例外クラスからカスタム例外クラスを派生させることです。ほとんどの組み込み例外は、同じ考え方を使用して例外を強制します。
指定されたコードで、ユーザー定義の例外クラス「CustomException」を作成しました。親としてExceptionクラスを使用しています。したがって、新しいユーザー定義の例外クラスは、他の例外クラスと同じように例外を発生させます。つまり、オプションのエラーメッセージを指定して「raise」ステートメントを呼び出します。
例を見てみましょう。
この例では、ユーザー定義の例外を発生させ、プログラムでエラーをキャッチする方法を示します。また、サンプルコードでは、保存されているアルファベットのみを入力するまで、ユーザーにアルファベットを何度も入力するように求めています。
ヘルプが必要な場合、プログラムはユーザーにヒントを提供し、ユーザーが正しいアルファベットを理解できるようにします。
#Python user-defined exceptions class CustomException(Exception): """Base class for other exceptions""" pass class PrecedingLetterError(CustomException): """Raised when the entered alphabet is smaller than the actual one""" pass class SucceedingLetterError(CustomException): """Raised when the entered alphabet is larger than the actual one""" pass # we need to guess this alphabet till we get it right alphabet = 'k' while True: try: foo = raw_input ( "Enter an alphabet: " ) if foo < alphabet: raise PrecedingLetterError elif foo > alphabet: raise SucceedingLetterError break except PrecedingLetterError: print("The entered alphabet is preceding one, try again!") print('') except SucceedingLetterError: print("The entered alphabet is succeeding one, try again!") print('') print("Congratulations! You guessed it correctly.")
-
Pythonで例外を発生させる方法は?
raiseキーワードを使用して、強制的に例外を発生させることができます。 「raise」メソッドを呼び出すための構文は次のとおりです。 raise [Exception [, args [, traceback]]] ここで、Exceptionは例外の名前です。オプションの「args」は、例外引数の値を表します。 また、オプションの引数であるtracebackは、例外に使用されるtracebackオブジェクトです。 #raise_error.py try: i = int ( input ( "Enter a positive integer value: " )
-
Pythonでユーザー定義の例外を実装するにはどうすればよいですか?
Pythonで新しい例外クラスを作成することにより、ユーザー定義またはカスタムの例外を作成します。アイデアは、例外クラスからカスタム例外クラスを派生させることです。ほとんどの組み込み例外は、同じ考え方を使用して例外を強制します。 指定されたコードで、ユーザー定義の例外クラス「CustomException」を作成しました。親としてExceptionクラスを使用しています。したがって、新しいユーザー定義の例外クラスは、他の例外クラスと同じように例外を発生させます。つまり、オプションのエラーメッセージを指定して「raise」ステートメントを呼び出します。 例を見てみましょう。 この例では、ユ