如何在不引发异常的情况下退出Python中的调用方方法?

时间:2020-06-02 05:31:19

标签: python recursion exception methods http-response-codes

如果内部函数调用的响应是否定的,我需要登录并退出调用者函数。通常的方法是引发一个异常,但是我还有另一个要求不要引发异常,因为它可能表明这是一个内部错误,而不是预期的否定测试用例。但是您可以看到一遍又一遍地编写同一段代码是多余的,并且既浪费空间又浪费时间,而且我正在寻找一种自动执行此操作的方法(这样一来,我不必编写这些代码重复的代码行),例如使用Exceptions和assert语句的概念,而无需在python中显式引发Exception。

def wrapper(self):
   response = None
   try:
      response = f1()
      if response != POSITIVE:
          self.logger.log('f1 failed.')
          return response

      response = f2()
      if response != POSITIVE:
          self.logger.log('f2 failed.')
          return response

      response = f3()
      if response != POSITIVE:
          self.logger.log('f3 failed.')
          return response

   except Exception as exp:
       raise Exception('System Malfunction')
   return response

此包装器在另一个函数调用中调用,其工作方式相同,您可以看到此循环如何继续。

0 个答案:

没有答案