【问题标题】:Raise exception for error logs引发错误日志的异常
【发布时间】:2017-04-13 00:11:11
【问题描述】:

我正在使用一个正在记录错误的库。但我希望它引发异常。

有没有快速的方法来引发异常,而不仅仅是记录错误?

我使用的库是cssutils,但为简单起见,假设我的代码如下所示:

from foo import do_something
do_something(x)

如果x 是不可接受的输入,假设do_something 将记录错误。如果do_something 记录错误,是否有一些快速破解会导致引发异常?或者是编辑foo的来源的唯一方法?

【问题讨论】:

  • 有一些示例代码会很好!显示你想在哪里引发异常而不是记录
  • 好吧,修改库,使其在进行日志记录后也抛出异常......
  • @ChristopherApple,抱歉,问题不清楚。我已经编辑过了。
  • @DanMašek,对,我编辑了问题以澄清。确实修改 thje 库会起作用,但鉴于我只是在做一个快速脚本,我希望有一些聪明的 1-2 行 hack(“所有错误日志现在都会抛出异常”),而不必查看库源。
  • @Garrett :D 浏览代码永远不会受到伤害。花了大约 2 分钟找到这个ErrorHandler class 更多细节here in the docs。好像已经支持 throw 而不是 logging,你只需要启用它。

标签: python python-3.x


【解决方案1】:

不清楚是否仍要记录错误,但您可以尝试以下操作:

if error_is_true:
    raise Exception("error message...") 

带日志:

try: 
    my_function() 
except Exception:
    logger.exception("error msg...")

【讨论】:

  • 谢谢,但我认为我的问题不清楚。我现在已经编辑过了。
  • 这样更好,很酷。如果您的脚本记录错误会发生什么?它应该继续运行还是引发异常并停止?关于日志记录,请查看此链接:loggly.com/blog/exceptional-logging-of-exceptions-in-python
  • 它应该只是引发并停止执行。
猜你喜欢
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2015-01-01
  • 1970-01-01
  • 1970-01-01
相关资源
最近更新 更多