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

时间:2014-12-17 02:40:01

标签: python python-2.7 python-3.x exception-handling semantics

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

try:
    pass
except Exception, e:
    raise
else:
    pass
finally:
    pass

我可以知道except Exception, e:except Exception as e:的含义吗? 通常我会使用print (e)来打印错误消息,但我想知道程序为生成e而做了什么。

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

except Exception:
    e = Exception.something

该方法应该取代something

try下的代码体没有异常时,代理将执行else下的代码。但是,finally在这做什么?

谢谢! :)

1 个答案:

答案 0 :(得分:10)

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

至于finally,它是始终执行的块,无论发生什么,在except块之后(如果引发异常)但是总是在触发范围之外的任何事情之前触发(例如returncontinueraise)。