开发者社区> 问答> 正文

Python捕获异常和有效负载

我是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

展开
收起
is大龙 2020-03-23 20:58:28 360 0
1 条回答
写回答
取消 提交回答
  • 我建议在这种情况下使用自定义异常

    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

    2020-03-23 20:58:34
    赞同 展开评论 打赏
问答排行榜
最热
最新

相关电子书

更多
From Python Scikit-Learn to Sc 立即下载
Data Pre-Processing in Python: 立即下载
双剑合璧-Python和大数据计算平台的结合 立即下载