如果我们故意提出异常,应该记录错误

时间:2014-12-11 06:22:14

标签: python exception logging

我做了一个自定义异常,所以我的问题是我应该在引发错误之前记录它。

class MyException(Exception):
    pass


if not someList:
    # do I need to log here
    logger.error("something went wrong")
    raise MyException("Something wrong.")

1 个答案:

答案 0 :(得分:0)

请在 where to log errors - where i throw or where i catch 上查看这个基于意见的问题。它适用于任何语言的异常/错误处理。

一般来说,我们的想法是只记录一次错误 -

  • 以避免更多IO操作,
  • 不会增加您的代码大小而没有任何额外的价值。
  • 如果你在错误源处记录它,那么
  • 跟踪变得很困难(只有没有堆栈跟踪的错误消息) - 很难找到收到异常的调用者。

在这种情况下,它取决于您是在某处捕获异常还是直接抛出异常。

您可以看到上述问题已经结束,并注明它是基于意见的。因此,除了严格的约定之外,它更符合您的意见和用例。