清除异常概念

2024-03-28 20:05:02 发布

您现在位置: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")

Tags: 函数datareturniffooismaindef
1条回答
网友
1楼 · 发布于 2024-03-28 20:05:02

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

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

这将为mainèfoo的调用者引发相同的异常

相关问题 更多 >