繁体   English   中英

Python 捕获异常和有效负载

[英]Python catching exceptions and payload

我有以下 Python 项目

.\\主函数.py

.\\Modules\\DatabaseFunction.py

.\\Modules\\DataBaseConnection.py

现在在 DataBaseConnection.py 我提出了一个例外:-

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

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

我一天中的大部分时间都在忙于以下几英里之外的事情:-

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

我基本上试图将任何捕获的错误传递给最高级别,并在顶部处理它们。

我建议在该场景中使用自定义异常

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)

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM