Как установить TimeoutException в C # и перенаправить на CustomErrorPage.aspx - PullRequest
0 голосов
/ 04 января 2012

Я пытаюсь установить исключение TimeoutException для команды, и в случае, если в коде появляется «Command TimeoutException», оно должно перейти к перехвату блока и дальнейшему перенаправлению на страницу customerror.aspx. Код:

try
{
   command.Timeout=1; //which is in seconds for testing i have set it to one.
   //some code here
   // if TimeoutException occurs, it must go to following block which doesnthappen
   //And  it goes to catch 2: block..! Why is it so...?
}

//catch 1:
catch (TimeoutException ex)
{
     Response.Redirect("CustomError.aspx");

}

//catch 2:
catch (Exception ex)
{
     Response.Redirect("CustomError.aspx");
}

Ответы [ 2 ]

1 голос
/ 04 января 2012

В блоке catch 2 - что за полный тип исключения? это может быть не TimeoutException, но будет перехвачено Exception, так как это базовый тип для исключений в .NET.

0 голосов
/ 04 января 2012

Похоже, вы пытаетесь перехватить исключение тайм-аута команды базы данных. Это не .net Timeout exception, а вместо SqlException с текстом «Истекло время ожидания ...».

Поскольку вы не перехватываете sqlException, в этом случае он идет в блок catch2.

проверить эту ссылку.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...