2012-08-16 22 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

相关问题