一尘不染

Python试试…除逗号与“ as”外

python

在except语句中“,”“ as”之间有什么区别,例如:

try:
    pass
except Exception, exception:
    pass

和:

try:
    pass
except Exception as exception:
    pass

2.6中的第二种语法合法吗?它可以在Windows上的CPython 2.6中运行,但是cygwin中的2.5解释器抱怨它无效。

如果它们在2.6中均有效,那我应该使用哪个?


阅读 309

收藏
2020-02-19

共1个答案

一尘不染

权威性文件是PEP-3110:捕获异常

摘要:

  • 在Python 3.x中,使用as被要求对异常分配给一个变量。
  • 在Python 2.6+中,请使用as语法,因为它的模棱两可,并且与Python 3.x向前兼容。
  • 在as不支持Python 2.5及更早版本的情况下,请使用逗号版本。
2020-02-19