Sql server 2008 如何在C#中处理sql异常?

Sql server 2008 如何在C#中处理sql异常?,sql-server-2008,c#-4.0,Sql Server 2008,C# 4.0,我将catch块与SqlException一起使用,但我希望显示自定义消息,而不是异常本身。 那么我如何过滤掉这些信息呢。比如说我想捕获一个唯一键约束冲突。是否有一些错误代码可用于确定错误 protected void Button1_Click(object sender, EventArgs e) { try { objuser.username = txt_email.Text;

我将catch块与
SqlException
一起使用,但我希望显示自定义消息,而不是异常本身。 那么我如何过滤掉这些信息呢。比如说我想捕获一个
唯一键
约束冲突。是否有一些错误代码可用于确定错误

 protected void Button1_Click(object sender, EventArgs e)
        {
            try
            {

                objuser.username = txt_email.Text;
                objuser.email = txt_username.Text;
                objuser.password = txt_password.Text;
                int i = BusinessUser.BusinessRegisterUser(objuser);
                if (i > 0)
                {
                    Session["user_authenticate"] = "Verified";
                    Session["user_email"] = objuser.email; //  sql exception handle for uniqe key
                    Response.Redirect("user_registration.aspx");
                }
            }
            catch (SqlException ex)
            { 
              // Handle Exception here if e-mail already exists
            }
            catch (Exception ex)
            {

            }

        }
您可以检查SqlException的属性。可以找到可能错误的完整列表