跳到内容

unnecessary-paren-on-raise-exception (RSE102) (在引发异常时使用不必要的括号)

源自 flake8-raise linter。

修复总是可用的。

作用

检查在引发异常时使用不必要的括号。

为什么这不好?

如果引发异常时没有任何参数,则不需要括号,因为 raise 语句接受异常实例或异常类(然后隐式实例化)。

删除括号可以使代码更简洁。

已知问题

只有当异常是一个类而不是函数调用时,才能省略括号。此规则并不总是能够区分两者。

例如,如果您从另一个模块导入一个函数 module.get_exception,并且 module.get_exception 返回一个异常对象,则此规则会错误地将 raise module.get_exception() 中的括号标记为不必要的。

示例

raise TypeError()

建议改为

raise TypeError

修复安全性

如果删除括号也会删除注释,或者不清楚表达式是类还是函数调用,则此规则的修复被标记为不安全。

参考