我想创造我自己的Python异常类,像这样:问题子类BaseException在Python
class MyException(BaseException):
def __init__(self, errno, address):
if errno == 10048:
mess = str(address) + ' is already in use'
else:
mess = 'Unable to open ' + str(address)
BaseException.__init__(mess)
但是当程序到了呼叫BaseException.__init__()
,我得到这个回溯:
BaseException.__init__(mess)
TypeError: descriptor '__init__' requires a 'exceptions.BaseException' object but received a 'str'
我认为BaseException会采用任何一组参数。另外,我应该如何将'exceptions.BaseException'对象传递给exceptions.BaseException的构造函数?
谢谢。这不是我第一次忘记在某处使用“自我”;我相信这不会是最后一次。 – 2008-12-18 17:14:35
这就是为什么我更喜欢使用super()来显式调用__init__方法。如果你忘记super()的自变量,你会立即得到一个错误。 – 2008-12-18 17:16:01