我想创建自己的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的构造函数?
最佳答案
您必须使用实例作为第一个参数来调用基类的方法:
BaseException.__init__(self, mess)
引用tutorial:
正如Tony Arkles和the documentation所述,
所以无论如何,您都不应该继承
BaseException
...关于python - 在Python中子类化BaseException的问题,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/378493/