Python捕获异常和有效负载-问答-阿里云开发者社区-阿里云

开发者社区> 问答> 正文

Python捕获异常和有效负载

is大龙 2020-03-23 20:58:28 68

我是python / post的新手,所以请裸身。

我有以下Python项目

。\ Mainfunction.py

。\ Modules \ DatabaseFunction.py

。\ Modules \ DataBaseConnection.py

现在在DataBaseConnection.py中,我提出了一个异常:-

except pymysql.Error as ex:
  raise json.dumps('error payload')

这上升到DatabaseFunction.py的级别,这是正确的,因为我希望它过滤到Mainfunction.py,所以我没有捕获此错误。我的问题是如何在此级别捕获此期望值和有效负载?

在接下来的大部分时间里,我一直在忙着以下大部分时间:-

try:
    x = DatabaseFunction.function(value1, value2, value3, etc)
except:
    print(x)
    pass

我基本上是试图将捕获到的所有错误传递到最高级别,并在最上面处理它们。

感谢您的指导!

问题来源:stackoverflow

Python
分享到
取消 提交回答
全部回答(1)
  • is大龙
    2020-03-23 20:58:34

    我建议在这种情况下使用自定义异常

    class CustomError(Exception):
        def __init__(self, message, errors=None):
            super().__init__(message)
            self.errors = errors
    

    因此,您可以在代码中实现类似以下内容的代码:

    except pymysql.Error as ex:
      raise CustomError('error payload')
    

    和收获:

    try:
      x = DatabaseFunction.function(value1, value2, value3, etc)
    except CustomError as e
      print(e.message)
    

    回答来源:stackoverflow

    0 0
开发与运维
使用钉钉扫一扫加入圈子
+ 订阅

集结各类场景实战经验,助你开发运维畅行无忧

推荐文章
相似问题
推荐课程