gpt4 book ai didi

c# - 提供用户友好的异常消息

转载 作者:太空宇宙 更新时间:2023-11-03 14:04:16 24 4
gpt4 key购买 nike

我正在使用以下代码来处理我的 Formview 中的删除异常。问题是如果发生错误,我想给用户一个简单的解释,但我找不到简单的方法。我应该说我是 ASP.NET 的新手。过去我会使用 ERROR_NO 来捕获错误,但我在这里找不到等效项。我可以看到 e.Exception.Message 提供了错误信息,但我不能将其提供给用户!...

EG:e.Exception.Message 给出“DELETE 语句与 REFERENCE 约束“FK_users_offices”冲突。冲突发生在数据库“xyz”、表“dbo.Users”、“OfficeID”列中。该语句已终止”

有没有办法识别此异常并将其捕获以显示类似“此 Office 无法删除,因为依赖用户存在”之类的内容。例如?

我后面的相关代码是:

    protected void fv_OnItemDeleted(Object sender, FormViewDeletedEventArgs e)
{
if (e.Exception == null)
{
if (e.AffectedRows == 1)
{
lblMessage.Text="Record deleted successfully.";
}
else
{
lblMessage.Text = "An error occurred during the delete operation.";
}
}
else
{
lblMessage.Text=e.Exception.Message;
e.ExceptionHandled = true;
}

UserMessage.Visible = true; // Display Error message to user
}

最佳答案

可以查看异常类型,根据异常类型返回给用户。类似的东西;

protected void fv_OnItemDeleted(Object sender, FormViewDeletedEventArgs e)
{

if (e.Exception == null)
{
if (e.AffectedRows == 1)
{
lblMessage.Text="Record deleted successfully.";
}
else
{
lblMessage.Text = "An error occurred during the delete operation.";
}
}
else
{
lblMessage.Text=e.Exception.Message;
if(e.Exception.GetType() == typeof(System.StackOverflowException))
lblMessage.Text = "Some stackoverflowexception occured, report to admin etc."
if(e.Exception.GetType() == typeof(System.ArgumentNullException))
lblMessage.Text = "Some argument exception occured"

e.ExceptionHandled = true;
}

UserMessage.Visible = true; // Display Error message to user
}

关于c# - 提供用户友好的异常消息,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/9861907/

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