[英]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.