CodeQL 文档

未使用的异常对象

ID: py/unused-exception-object
Kind: problem
Security severity: 
Severity: error
Precision: very-high
Tags:
   - reliability
   - maintainability
Query suites:
   - python-security-and-quality.qls

单击以查看 CodeQL 存储库中的查询

创建新的异常对象与创建任何其他对象没有什么不同。异常需要被引发才能生效。

建议

在异常之前插入raise

示例

在本例中,第一个函数do_action_forgotten_raise()会静默地忽略任何错误输入。而第二个函数do_action则在不理解“action”时正确地引发异常。


def do_action_forgotten_raise(action):
    if action == "go":
        start()
    elif action == "stop":
        stop()
    else:
        ValueError(action)

def do_action(action):
    if action == "go":
        start()
    elif action == "stop":
        stop()
    else:
        raise ValueError(action)
  • ©GitHub, Inc.
  • 条款
  • 隐私