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

时间:2013-10-21 10:51:36

标签: sql-server-2008 c#-4.0

我正在使用SqlException的catch块,但我希望显示自定义消息而不是异常本身。 那么我该如何过滤掉这些消息呢。比如说我想抓住Unique Key约束违规。是否有一些错误代码可用于确定错误。

 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)
            {

            }

        }

1 个答案:

答案 0 :(得分:2)

您可以检查SqlException的Number property。可以找到可能错误的完整列表here