玩蛇网提供最新Python编程技术信息以及Python资源下载!
django网站项目展示大全

Python try except源码练习中e代表什么?

try:
    print 'try...'
    r = 10 / 0
    print 'result:', r
except ZeroDivisionError, e:
    print 'except:', e
finally:
    print 'finally...'
print 'END'

上面代码中的e是什么意思?

这个e是异常类的一个实例,如果我们完整地解释这个问题,我觉得还是从Python的自定义异常类说起比较好。

假如,我们现在自定义一个简单的异常类:

class MyError(Exception):
    def __init__(self, value):
        self.value = value
    def __str__(self):
        return repr(self.value)

我们抛这个异常的时候可以这么写:

try:
    raise MyError(2*2)
except MyError as e:
    print 'My exception occurred, value:', e.value

我们在捕获这个异常之后假如需要访问TA的一些属性怎么办,这个时候就可以使用as关键字
所以,这里的e是前面MyError类的一个instance,我们可以直接访问他的value,也就是你看到的e.value

补充:

异常对象。
except 语句跟着两个东西,前面是异常的类型,后面的是 异常对象,包含了一些异常信息

玩蛇网文章,转载请注明出处和文章网址:https://www.iplaypy.com/wenda/wd19502.html

相关文章 Recommend

玩蛇网Python互助QQ群,欢迎加入-->: 106381465 玩蛇网Python新手群
修订日期:2017年05月19日 - 10时46分02秒 发布自玩蛇网

您现在的位置: 玩蛇网首页 > Python问题解答 > 正文内容
我要分享到:

必知PYTHON教程 Must Know PYTHON Tutorials

必知PYTHON模块 Must Know PYTHON Modules