跳到内容

binary-op-exception (PLW0711)

源自 Pylint 代码检查工具。

作用

检查 except 子句是否尝试使用二元运算符 (andor) 捕获多个异常。

为什么这不好?

二元运算符不会捕获多个异常。相反,二元运算将首先被求值,并且运算的结果将被捕获(对于 or 运算,这通常是列表中的第一个异常)。这几乎永远不是期望的行为。

示例

try:
    pass
except A or B:
    pass

建议改为

try:
    pass
except (A, B):
    pass