PythonでNotImplementedError例外をキャッチする方法は?
ユーザー定義の基本クラスは、NotImplementedErrorを発生させて、メソッドまたは動作をサブクラスで定義し、インターフェイスをシミュレートする必要があることを示すことができます。この例外はRuntimeErrorから派生しています。ユーザー定義の基本クラスでは、メソッドをオーバーライドするために派生クラスが必要な場合、抽象メソッドはこの例外を発生させる必要があります。
import sys try: class Super(object): @property def example(self): raise NotImplementedError("Subclasses should implement this!") s = Super() print s.example except Exception as e: print e print sys.exc_type
Subclasses should implement this! <type 'exceptions.NotImplementedError'>
-
Pythonで例外を発生させる方法は?
raiseキーワードを使用して、強制的に例外を発生させることができます。 「raise」メソッドを呼び出すための構文は次のとおりです。 raise [Exception [, args [, traceback]]] ここで、Exceptionは例外の名前です。オプションの「args」は、例外引数の値を表します。 また、オプションの引数であるtracebackは、例外に使用されるtracebackオブジェクトです。 #raise_error.py try: i = int ( input ( "Enter a positive integer value: " )
-
PythonでKeyError例外をキャッチする方法は?
辞書のキーとして値が見つからない場合、KeyErrorが発生します。指定されたコードは、例外をキャッチしてそのタイプを見つけるために次のように書き直されます。 例 import sys try: s = {'a':5, 'b':7}['c'] except: print (sys.exc_info()) 出力 (<type 'exceptions.KeyError'>, KeyError('c',), <traceback object at 0x0000000003203748&g