基于用户的异常程序不工作

2024-09-28 01:26:48 发布

您现在位置:Python中文网/ 问答频道 /正文

此代码不起作用。请告诉我是什么错误。。。。在

class Error(Exception):
    def __init__(self,mssg):
        self.mssg = mssg

class InputError(Error):
    def __init__(self,val):
        super("Input Error")
        print val

现在我在程序的其他部分写东西

^{pr2}$

现在,当我传递'a'时,我得到super expected a type but got a string我只想将该消息传递给基类,并将其与错误的值一起显示。在

我做错什么了


Tags: 代码self程序inputinitdef错误exception
3条回答

问题是您错误地使用了^{}。正确的方法是:

class InputError(Error):
    def __init__(self, val):
        super(InputError, self).__init__(val)
        print val

^{}应该这样调用:

class InputError(Error):
    def __init__(self,val):
        super(InputError, self).__init__("Input Error")
        print val

^{}用于访问已在子类中重写的超类的方法,而不是用参数实例化超类。在

你似乎想做的是:

class InputError(Error):
    def __init__(self,val):
        super(InputError).__init__("Input Error")
        print val

虽然这不一定是个好主意。在

相关问题 更多 >

    热门问题