我是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
我建议在这种情况下使用自定义异常
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
版权声明:本文内容由阿里云实名注册用户自发贡献,版权归原作者所有,阿里云开发者社区不拥有其著作权,亦不承担相应法律责任。具体规则请查看《阿里云开发者社区用户服务协议》和《阿里云开发者社区知识产权保护指引》。如果您发现本社区中有涉嫌抄袭的内容,填写侵权投诉表单进行举报,一经查实,本社区将立刻删除涉嫌侵权内容。