【发布时间】:2018-12-09 14:43:11
【问题描述】:
当数据库出现错误时,我们的编程团队发生冲突。
当 db 遇到这样的错误时:
“消息 547,第 16 级,状态 0,第 1 行
DELETE 语句与 REFERENCE 约束冲突...“。
UI 必须显示可理解的消息,如下所示:
“您无法删除此项目。用过。”
数据库团队(MS SQL)通过“引发错误”返回纯错误消息,并期望后端团队(Node js)或前端团队(Angular)将此消息转换为用户可理解的消息并显示给用户。但是后端团队和前端团队都说没有优化,db消息必须转换成数据库中用户可以理解的消息。
这个问题有什么标准吗?
【问题讨论】:
-
系统错误信息错过了一个重点。它是在什么活动背景下发生的?创建记录、更新记录、删除记录?这可能会更改您要返回的消息。不要依赖可能发生变化的系统消息或数字。我有一个基于处理返回消息的业务层 - 在任何更新之前执行尽可能多的有用验证。我没有将消息分离到单独的存储中,而是将它们嵌入到业务层代码中。您可以有一个数据库表或文件供参考,甚至可以使用占位符来扩展常见消息
标签: node.js sql-server angular