CodeQL 文档

finally 块中的“break”或“return”语句

ID: py/exit-from-finally
Kind: problem
Security severity: 
Severity: warning
Precision: medium
Tags:
   - reliability
   - maintainability
   - external/cwe/cwe-584
Query suites:
   - python-security-and-quality.qls

点击查看 CodeQL 代码库中的查询

当在 finally 块中使用 breakreturn 语句时,这会导致 try-finally 块立即退出,丢弃异常。这不太可能是开发人员的意图,并且会使代码更难以阅读。

建议

breakreturn 语句移动到 finally 块之后,或者使用显式的 except 块来处理异常。

这些修改会改变行为,因此您必须注意确保结果行为是正确的。

参考资料

  • ©GitHub, Inc.
  • 条款
  • 隐私