2012-08-16 56 views
26

如果我使用pylint的(通過sublimerlinter)我得到以下警告消息的過時形式:如何解決:W602提高例外

W602 deprecated form of raising exception

這我我如何使用異常在我的代碼:

if CONDITION == True: 
    raise ValueError, HELPING_EXPLANATION 
+1

我添加了這個相當微不足道的問答,因爲使用'W602棄用形式的異常提示'不會產生任何有用的鏈接。 – Framester 2012-08-16 16:30:07

回答

28

提高一樣,你的例外:

if CONDITION == True: 
    raise ValueError(HELPING_EXPLANATION) 

PEP 8 -- Style Guide for Python Code - Programming Recommendations

當拋出一個異常,使用募集ValueError('message')代替舊的形式raise ValueError, 'message'

paren-using表單是首選,因爲當異常參數很長或包含字符串格式時,由於包含圓括號,您不需要使用行連續字符。舊版表格將在Python 3中刪除。

+16

同樣,如果您想在Python 2.x中添加回溯,使用'raise ValueError(HELPING_EXPLANATION),None,tb'來代替'raise ValueError,HELPING_EXPLANATION,tb'來避免該警告。 – 2013-09-26 12:35:50

+0

對於它的價值,沒有python3-forward兼容的方式在Python 2.x中添加回溯。 – 2014-06-29 11:22:06

+0

@TobiasKienzler - 太好了,謝謝!我希望你發佈這個答案,以便我可以放棄它,你可以獲得代表,但相反,你必須對你的評論滿意。 – ArtOfWarfare 2014-08-14 12:07:43