我想創造我自己的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