无Except子句却触发Pylint overgeneral-exceptions弃用警告求助
解决PyLint的overgeneral-exceptions弃用警告
这个警告和你的代码无关,问题出在PyLint的配置里——你在overgeneral-exceptions选项中使用了不带模块前缀的异常名(比如BaseException),PyLint 3.0会移除对这种写法的支持,因此触发了警告。
解决步骤:
- 找到你的PyLint配置文件:通常是项目根目录的
.pylintrc、pyproject.toml,或者检查运行PyLint时的命令行参数。 - 定位到
overgeneral-exceptions配置项:- 若用
.pylintrc,找类似overgeneral-exceptions=BaseException,Exception的行 - 若用
pyproject.toml,找[tool.pylint.messages_control]下的对应配置
- 若用
- 将所有简写的异常名替换为全限定名称,比如:
BaseException→builtins.BaseExceptionException→builtins.Exception
举个配置修改的例子:
.pylintrc 示例
修改前:
overgeneral-exceptions=BaseException,Exception
修改后:
overgeneral-exceptions=builtins.BaseException,builtins.Exception
pyproject.toml 示例
修改前:
[tool.pylint.messages_control] overgeneral-exceptions = ["BaseException", "Exception"]
修改后:
[tool.pylint.messages_control] overgeneral-exceptions = ["builtins.BaseException", "builtins.Exception"]
保存配置后重新运行PyLint,警告就会消失。
内容的提问来源于stack exchange,提问作者Aseem
相关产品推荐
相关产品推荐

