跳到内容

log-exception-outside-except-handler (LOG004)(异常处理程序外部的日志异常)

源自 flake8-logging 代码检查器。

有时提供修复。

此规则不稳定且处于预览状态。使用需要 --preview 标志。

作用

检查异常处理程序之外的 .exception() 日志调用。

为什么这不好?

文档指出

此函数应仅从异常处理程序中调用。

在异常处理程序之外调用 .exception() 会将 None 附加为异常信息,从而导致令人困惑的消息

>>> logging.exception("example")
ERROR:root:example
NoneType: None

示例

import logging

logging.exception("Foobar")

建议改为

import logging

logging.error("Foobar")

修复安全性

如果可用,修复程序将始终标记为不安全,因为它会更改运行时行为。