【发布时间】:2009-02-11 15:35:18
【问题描述】:
场景如下:
- 您加载一个页面,该页面根据数据库中的数据呈现(将这些称为“假设”)
- 有人改变了假设
- 您提交您的页面
- 错误!
解决这个问题的一般模式是这样的(对吗?):
在您的保存过程中,在开始和提交事务中,您首先验证您的假设。如果其中任何一个发生更改,您应该返回一个优雅的错误消息,例如您遇到问题的 ID 的 XML 列表,您可以在 page 中处理它,而不是让它由默认错误处理处理基础设施。
所以我的问题是最好的方法是什么?
- 返回未设置的 xml 列表和 out 参数中的错误标志,如果正确完成则返回 0?
- 使用out参数返回错误状态,proc的结果是错误列表还是proc的有效结果?
- 还有别的吗? (我应该注意 raiseerror 会导致 proc 出错,并被默认的错误处理代码拾取)
更新:我想返回一个可操作的失败 ID 列表(我计划在应用程序中突出显示这些单元格)。我可以在 RAISEERROR 中以 CSV 格式返回它们,但这看起来很脏。
【问题讨论】:
标签: tsql error-handling