gpt4 book ai didi

c# - 从数据库中检索错误消息的最佳实践

转载 作者:搜寻专家 更新时间:2023-10-30 20:54:21 24 4
gpt4 key购买 nike

我们的数据库表中有错误消息列表,当我们遇到一些业务验证错误时,我们会从表中获取这些错误消息。例如如果在 c# 代码中我们发现计算出的风险 % 超过允许值,则使用下面的代码

string sError = GetErrorText(6610);  // get error message from application cache
DisplayErrorPopup(sError ); // load a popup to display error to user.

现在我们发现在某些情况下我们必须验证存储过程中的一些规则。例如“ worker 没有活跃的主管。”

我的问题是,当在数据库中进行验证时,我们应该如何处理这种情况?A. 我们是否应该返回错误文本“没有工作人员的活跃主管”。作为 SP 的输出参数并将其传递给 DisplayErrorPopup

B. 返回错误 id(存在于表中),然后使用 GetErrorText(834),然后将文本传递给 DisplayErrorPopup;

我的担忧是
1. 是否有处理错误消息和文本的最佳实践的行业标准。
2. 当我们有返回数字的选项时,从数据库返回字符串/varchar 有什么缺点吗?

请指导我。

最佳答案

我建议在 SQL 中抛出(引发)一个自定义错误(如果您愿意,您可以从表中选择文本)并让您的应用程序捕获该错误。这将允许您让您的应用程序根据错误的严重程度来决定如何处理不同的错误。

        using (SqlConnection conn = new SqlConnection(connection))
{
SqlCommand sqlCommand = new SqlCommand(query, conn);
sqlCommand.CommandTimeout = timeout;
sqlCommand.CommandType = CommandType.Text;
conn.Open();
object result = sqlCommand.ExecuteScalar();

return result;
}

在 try catch block 中运行以上代码将使您能够在 C# 应用程序中更优雅地处理错误

关于c# - 从数据库中检索错误消息的最佳实践,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/29537889/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com