在Python中,除了'e'之外的'Exception'是什么意思?

lxj*_*jhk 3 python exception semantics

异常处理的典型结构如下:

try:
    pass
except Exception, e:
    raise
else:
    pass
finally:
    pass
Run Code Online (Sandbox Code Playgroud)

我想知道是什么except Exception, e:或者except Exception as e:是什么意思?通常我会print (e)用来打印错误信息,但我想知道程序做了什么来生成e.

如果我以另一种方式(下面)构建它,它会是什么样的?

except Exception:
    e = Exception.something
Run Code Online (Sandbox Code Playgroud)

该方法应该取代something什么?

当代码体下try没有异常时,代码将执行下面的代码else.但是,finally这里做了什么?

谢谢!:)

Max*_*oel 13

except Exception as e,或except Exception, e(仅限Python 2.x)意味着它捕获类型的异常Exception,并且在except:块中,引发的异常(实际对象,而不是异常类)绑定到变量e.

至于finally,它是一个总是被执行的块,无论发生什么,在except块之后(如果引发异常)但始终在触发范围之外的任何其他事件被触发(例如return,continue或raise)之前.