如何实现Python 2和3的异常处理?

时间:2016-10-25 06:16:57

标签: python python-2.7 python-3.x

Python 3改变了捕获异常的语法。如何使我的脚本兼容两个版本?我知道检测Python版本的方法,但我是否需要使用If-else检查并重复整个try-catch块?

1 个答案:

答案 0 :(得分:2)

Python 2.6和2.7支持新的except Exception as e:语法,就像Python 3一样。

如果你不幸使用长期死亡的Python 2版本2.5,甚至(喘息)2.4,它仍然“可能”,但你必须采取一些可怕的黑客,如

>>> import sys
>>> try:
...     1/0
... except ZeroDivisionError:
...     e = sys.exc_info()[1]
...     # process e
...     del e