清除异常的概念

时间:2014-12-10 19:12:09

标签: python

假设我有一个功能。

def foo(data):
  if data:
     return data[0]
   else:
     raise ValueError('data is empty')


def main_foo(..):
    ele = foo(data)

现在,我想抓住那个例外,因为我的一位朋友发表了评论

Please re-raise the errors at main_foo

这是否意味着我做了类似的事情:

def main_foo( .. ):
   try:
     ele = foo(data)
    except ValueError:
         logger.log("exception caught")

1 个答案:

答案 0 :(得分:1)

如果要在main_foo中记录异常的发生,但让其他函数实际处理异常,请执行以下操作:

def main_foo():
    try:
        ele = foo(data)
    except ValueError:
        logger.log("Exception caught")
        raise

这将为main_foo的调用者提出相同的异常处理。