Python try except源码练习中e代表什么?,pythonexcept,try: prin


try:    print 'try...'    r = 10 / 0    print 'result:', rexcept ZeroDivisionError, e:    print 'except:', efinally:    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 语句跟着两个东西,前面是异常的类型,后面的是 异常对象,包含了一些异常信息

编橙之家文章,

评论关闭