如何解决正确处理psycopg2错误
我正在构建一个Web应用程序,用作我们的移动和Electron应用程序的Web API服务器。我也在尝试正确设计我们的错误处理。
我使用Django
,Django Rest Framework
来实现RESTful API
。
对于psycopg2 errors
,我得到以下信息:
关系“基本信息”的“列“ unifiedidd”不 存在\ n第1行:INSERT INTO profile.basicinformation(unifiedidd, 名字,... \ n ^ \ n查询: INSERT INTO profile.basicinformation(unifiedidd,firstname, 中间名,姓氏,性别,生日)VALUES ('8f38f402-ddee-11ea-bfee-ead0fcb69cd9':: uuid,'Lily Francis Jane', 'Luo Yi','Chao Fan','Male','1990-03-20')\ n上下文:PL / pgSQL 函数inline_code_block在SQL语句的第5行\ n“
在我的查看文件中,我正在捕获这些错误,例如:
def post(self,request,*args,**kwargs):
try:
return Response({"message": "Cool"},status=http_200_OK)
except ProgrammingError as e:
return Response({"message": str(e)},status=http_500_INTERNAL_SERVER_ERROR)
except IntegrityError as e:
return Response({"message": str(e)},status=http_500_INTERNAL_SERVER_ERROR)
except Exception as e:
return Response({"message": str(e)},status=http_500_INTERNAL_SERVER_ERROR)
- 我想确认的第一件事是,由于错误的内容,我认为输出整个内容不是一个好主意吗?由于它显示了实际的查询。这很有用,但可能仅用于开发人员使用的错误日志记录。
- 因此,我假设我需要输出自定义消息。但是鉴于可能会遇到大量错误,并且我认为不可能为这些错误中的每一个创建自定义消息,因此我正在考虑仅输出通配符错误消息,例如“遇到了意外错误。请联系开发团队。”
- 但是,此通配符错误消息对于开发人员和用户似乎也没有那么有用。
我不确定如何正确处理异常并将异常响应尽可能多地反馈给API客户端。
版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。