为了账号安全,请及时绑定邮箱和手机立即绑定

编写自定义异常代码,编译出错

在win7环境下编写以下代码并执行,结果出错,提示没有定义异常,但是代码里明明定义了啊?

求指导!!http://img1.sycdn.imooc.com//580f60a30001e88305140166.jpg

代码:

class CustomError(Exception):

    def __init__(self, info):

        Exception.__init__(self)

        self.errorinfo = info

        print 'self.errorinfo'

    def __str__(self):

        return 'customError: %s'% self.error.info

try:

    raise customError("test")

except customError, e:

    print 'info:%s'%(e)


正在回答

3 回答

自定义的异常名为:CustomError,引用时却用的是customError。Python是大小写敏感的,建议使用iPython,每次引用变量名时常按tab键自动补全功能,既提高代码输入效率,又能避免输入错误。

0 回复 有任何疑惑可以回复我~

上述代码错误原因:

1、上面定义的是 CustomError类,而后面捕获异常的时候,是customError,大小写错误,python对大小写敏感。

2、定义的 CustomError类,return 返回出现错误,errorinfo中间有点,应该是连接在一起。

正确代码如下(我的是python3环境):

class CustomError(Exception):
    def __init__(self, info):
        Exception.__init__(self)
        self.errorinfo = info
        print(self.errorinfo)
    def __str__(self):
        return 'customError: %s'% self.errorinfo
try:
    raise CustomError("test")
except CustomError as e:
    print('info:%s'%(e))

http://img1.sycdn.imooc.com//582175f50001185c07060506.jpg


0 回复 有任何疑惑可以回复我~

大小写错了,你定义的是CustomError,raise的是customError吧

0 回复 有任何疑惑可以回复我~

举报

0/150
提交
取消
Python错误和异常
  • 参与学习       31678    人
  • 解答问题       31    个

让我们一起来学习Python对于错误和异常的处理方式

进入课程

编写自定义异常代码,编译出错

我要回答 关注问题
意见反馈 帮助中心 APP下载
官方微信