【问题标题】:PEP8 Does Not Allow Try Except Block [duplicate]PEP8 不允许尝试除阻止 [重复]
【发布时间】:2018-12-04 16:12:50
【问题描述】:

我的代码包含一个常规的 try-except 块。我下载了 pycodestyle 库以在我的代码上测试 pep8。我测试了我的代码,我得到了以下 PEP8 错误:

E722 do not use bare 'except'

为什么会发生这种情况,我该如何解决?谢谢。

【问题讨论】:

  • 我不认为这是重复的,因为我专门指的是 PEP8 指南,而不是它是否是一个好的做法。
  • 那我不明白你在问什么。该规则在 PEP8 中有明确规定,你读过吗?
  • 你是对的;它是重复的。道歉。

标签: python pep8


【解决方案1】:

您应该包含一个特定的例外。

例如,

try:
   <stuff>
except IndexError:
   <stuff>

代替

try:
   <stuff>
except:
   <stuff>

它有助于调试 - 你会知道是否会弹出一个意外错误,并且错误不会因为可能会弄乱其他东西而飞起来。

【讨论】:

  • This StackOverflow answer 更详细地解释了为什么指定异常是个好主意。
  • 如果您有顶级 try-except 以确保将意外错误重定向到记录器和/或远程监控服务,是否可以忽略此规则?
  • 在这种情况下,您可以使用except Exception as e:,这样您就知道错误是什么
猜你喜欢
  • 1970-01-01
  • 2013-11-17
  • 2013-08-10
  • 1970-01-01
  • 1970-01-01
  • 2023-02-02
  • 1970-01-01
  • 2017-11-05
  • 2011-08-11
相关资源
最近更新 更多