Python try...except 逗号 vs 'as' in except

标签 python python-2.6

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

最佳答案

权威文件是PEP-3110: Catching Exceptions

总结:

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

关于Python try...except 逗号 vs 'as' in except,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/9084755/

相关文章:

python - Fabric:在目标主机上执行内联 Python?

python - 分别获取查询集中每个项目的计数 Django DRF

python - 如何从 Python 日期时间获取小时数?

python - 从 HTML 标签中包含的一系列字符串和不带标签的字符串中提取文本

python - Python 中奇怪的内存错误

python - RethinkDB:​​多重比较过滤

python - 如何遍历字典——一次 n 个键值对

python - 在 Python 中查询的语法是什么?

python2.6.6 将apache日志时间戳转换为纪元以来的秒数(unix风格)

python - 无效的语法错误python 2.6