Поймать System.Data.SqlClient.SqlException ошибка - PullRequest
3 голосов
/ 23 ноября 2011

Я встретил исключение System.Data.SqlClient.SqlException, когда пытался получить доступ к веб-странице в моем веб-приложении ASP.NET без подключения к сети.

Я попытался перехватить исключение с помощью команды 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 Ответ

4 голосов
/ 23 ноября 2011

Я не уверен в причине, но я верю, что этот код будет работать для вас:

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);
}
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...