【问题标题】:What type of exception should I use to avoid No exception type(s) specified我应该使用什么类型的异常来避免没有指定异常类型
【发布时间】:2020-06-26 05:09:40
【问题描述】:

我有一个list,其中包含这些值['apple', 'banana', '10', 'oranges']

我想迭代列表中的每个元素并尝试将其转换为int

这是我目前的代码

lst = ['apple', 'banana', '10', 'oranges']

for i in lst:
    try:
        int_ele = int(i)
        print(int_ele)
    except:
        continue

现在这段代码可以工作了。但是当我在这段代码上运行 pylint 时,我得到了这个错误

W0702:未指定异常类型(裸除外)

我应该如何摆脱这个错误?

【问题讨论】:

  • 你可以考虑切换到with contextlib.suppress(),因为它更干净。
  • 在这种情况下,唯一合理的错误是ValueError,因此您可以改为通过except ValueError 捕获它。

标签: python for-loop pylint try-except


【解决方案1】:

你可以except Exception:,也可以except ValueError:

【讨论】:

  • Exception 将非常宽泛,ValueError 应该适合其中。
猜你喜欢
  • 1970-01-01
  • 1970-01-01
  • 2011-05-06
  • 1970-01-01
  • 1970-01-01
  • 2014-12-30
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
相关资源
最近更新 更多