小编典典

Python尝试...除了逗号与'as' in except

all

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 中都有效,我应该使用哪个?


阅读 92

收藏
2022-05-18

共1个答案

小编典典

最终文档是PEP-3110:Catching Exceptions

概括:

  • 在 Python 3.x 中,需要使用 usingas异常 分配给变量。
  • 在 Python 2.6+ 中,使用该as语法,因为它的歧义性要小得多,并且与 Python 3.x 前向兼容。
  • 在 Python 2.5 及更早版本中,使用逗号版本,因为as不支持。
2022-05-18