跳到内容

重复异常处理 (B014)

源自 flake8-bugbear linter。

修复总是可用的。

作用

检查捕获重复异常的异常处理程序。

为什么这不好?

在同一个处理程序中多次包含同一个异常是多余的,因为第一个异常会捕获该异常,使得第二个异常不可达。 这同样适用于异常层级结构,因为父异常(如Exception)的处理程序也会捕获子异常(如ValueError)。

示例

try:
    ...
except (Exception, ValueError):  # `Exception` includes `ValueError`.
    ...

建议改为

try:
    ...
except Exception:
    ...

参考