当我尝试在没有任何网络连接的情况下访问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没有按预期工作,错误显示为以下网页:
任何人都可以告诉我哪里出错了?
谢谢
答案 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);
}