空 except¶
ID: py/empty-except
Kind: problem
Security severity:
Severity: recommendation
Precision: high
Tags:
- reliability
- maintainability
- external/cwe/cwe-390
Query suites:
- python-security-and-quality.qls
忽略应该以某种方式处理的异常几乎总是错误的。信息的丢失会导致难以调试的错误和不完整的日志文件。甚至可能忽略异常会导致安全漏洞。空 except
块可能表明程序员原本打算处理异常,但从未编写代码来处理。
建议¶
确保所有异常都得到正确处理。
示例¶
在此示例中,如果程序无法降级到更低的权限,则程序将继续使用相同的权限运行。
# ...
try:
security_manager.drop_privileges()
except SecurityError:
pass
# ...
参考¶
常见弱点枚举:CWE-390.