如何修复:W602弃用异常提升形式

Fra*_*ter 28 python pep8 pylint

如果我使用pylint(通过sublimerlinter),我收到以下警告消息:

W602 deprecated form of raising exception

这个我如何在我的代码中使用异常:

if CONDITION == True:
    raise ValueError, HELPING_EXPLANATION
Run Code Online (Sandbox Code Playgroud)

Fra*_*ter 30

像这样提出你的异常:

if CONDITION == True:
    raise ValueError(HELPING_EXPLANATION)
Run Code Online (Sandbox Code Playgroud)

PEP 8 - Python代码风格指南 - 编程建议:

引发异常时,请使用raise ValueError('message')而不是旧形式raise ValueError, 'message'.

使用paren-using表单是首选,因为当异常参数很长或包含字符串格式时,由于包含括号,您不需要使用行继续符.旧的表单将在Python 3中删除.

  • 类似地,如果要在Python 2.x中添加回溯,请使用`raise ValueError(HELPING_EXPLANATION),None,tb`而不是`raise ValueError,HELPING_EXPLANATION,tb`来避免该警告. (17认同)