PEP8不允许使用try except块。

7

我的代码包含一个普通的try-except块。我下载了pycodestyle库来测试我的代码是否符合PEP8标准。我测试了我的代码,得到了以下PEP8错误:

E722 do not use bare 'except'

为什么会出现这种情况,我该如何修复它?谢谢。

我认为这不是重复的问题,因为我特别指的是PEP8准则,而不是它是否是一个好的实践。 - Mr. Hax
那我不明白你在问什么。这个规则在 PEP8 中明确说明了,你读过吗? - juanpa.arrivillaga
你是对的,这是一个重复的。抱歉。 - Mr. Hax
1个回答

15

你应该包含一个具体的例外。

例如:

try:
   <stuff>
except IndexError:
   <stuff>

与其

try:
   <stuff>
except:
   <stuff>

它有助于调试 - 如果出现意外错误,您将知道,并且错误不会在可能搞乱其他东西的情况下飞过。


2
这个 StackOverflow 答案更详细地解释了为什么指定异常是一个好主意。 - rlee827
1
如果您有一个顶级的try-except来确保意外错误被重定向到记录器和/或远程监视服务,忽略此规则是否合理? - Johan Falkenjack
1
在这种情况下,您可以使用 except Exception as e: 这样您就知道了错误是什么。 - whackamadoodle3000

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接