Catch System.Data.SqlClient.SqlException错误

时间:2011-11-23 08:41:38

标签: asp.net exception exception-handling

当我尝试在没有任何网络连接的情况下访问ASP.NET Web应用程序上的网页时遇到异常System.Data.SqlClient.SqlException

我试图通过使用try catch来捕获异常,但它不起作用。以下是我的代码段:

protected void Page_Load(object sender, EventArgs e)
{
    try
    {
        SqlDataSource1.SelectCommand = "SELECT * FROM [UserDB]";
        SqlDataSource1.DataBind();
    }
    catch (SqlException ex)
    {
        Response.Redirect("/App/ErrorPage.aspx");
    }
}

我的try catch在我的网页本身的其他功能上工作。例如。如果用户在未连接到网络时尝试删除记录,将显示ErrorPage。但是对于pageload方法,try catch没有按预期工作,错误显示为以下网页: enter image description here

任何人都可以告诉我哪里出错了?

谢谢

1 个答案:

答案 0 :(得分:4)

我不确定原因,但我相信这段代码对您有用:

try
{
    SqlDataSource1.SelectCommand = "SELECT * FROM [UserDB]";
    SqlDataSource1.DataBind();
}
catch (System.Data.SqlClient.SqlException ex) //Catch SqlException
{
    Response.Redirect("/App/ErrorPage.aspx");
}
catch(Exception ex) //Catch Other Exception
{
    Response.Write(ex.Message);
}