ユーザ定義例外


ビルトイン例外のほかにユーザが定義した例外を発生させることもできます。その場合は、raise文を使って例外を起こします。例外はオブジェクトなのでベースクラスExceptionから派生させたクラスを定義します。

次の例は、最も単純なもので例外クラスは結果的にExceptionと同じです。必要ならこのクラスに特別な処理をさせることもできます。

class MyException(Exception) :
	def __init__(self, e) :
		Exception.__init__(self, e)

try :
	raise MyException, "my exception"
except MyException, e :
	print e
 

次のように、ビルトインクラスを利用して例外を発生させることもできます。

# User exception
try :
    raise RuntimeError, "user exception occured."
except RuntimeError, e:
    print e