0
Python 3改變了捕捉異常的語法。我怎樣才能讓我的腳本兼容兩個版本?我知道檢測Python版本的方法,但是我需要使用If-else
檢查並重復整個try-catch
塊嗎?如何爲Python 2和Python 3實現異常處理?
Python 3改變了捕捉異常的語法。我怎樣才能讓我的腳本兼容兩個版本?我知道檢測Python版本的方法,但是我需要使用If-else
檢查並重復整個try-catch
塊嗎?如何爲Python 2和Python 3實現異常處理?
的Python 2.6和2.7支持新except Exception as e:
語法,就像Python 3的
如果你不幸足以使用長死的Python 2.5,甚至(喘氣)2個版本2.4,它仍是「可能的」,但你必須採取一些可怕的黑客就像
>>> import sys
>>> try:
... 1/0
... except ZeroDivisionError:
... e = sys.exc_info()[1]
... # process e
... del e
您可以使用'除了布拉赫作爲x'語法直接在Python 2.7,如果這是你的意思。 – BrenBarn
@BrenBarn是的!謝謝!! – Volatil3