Хорошая идея поймать HttpException?

У меня на странице output.aspx есть следующая ошибка:

Сведения об исключении: System.Web.HttpException: время ожидания запроса.

Ошибка источника:

Необработанное исключение было создано во время выполнения текущего веб-запроса. Информация о происхождении и местоположении исключения может быть идентифицирована с использованием трассы стека исключений ниже.

Трассировка стека:

[HttpException (0x80004005): время ожидания запроса.]

Можно ли поймать это исключение? Где я могу это сделать, поскольку мой output.aspx.cs имеет страницу_Load, и эта функция вызывает RunTable(). Должен ли я помещать блок catch try вокруг этого содержимого функций?

1 ответ

Исключение catch на уровне приложения

void Application_Error(object sender, EventArgs e)
{
 // Code that runs when an unhandled error occurs
 // Get the exception object.
 Exception exc = Server.GetLastError();
 // Handle HTTP errors
 if (exc.GetType() == typeof(HttpException))
 {
 // The Complete Error Handling Example generates
 // some errors using URLs with "NoCatch" in them;
 // ignore these here to simulate what would happen
 // if a global.asax handler were not implemented.
 if (exc.Message.Contains("NoCatch") || exc.Message.Contains("maxUrlLength"))
 return;
 //Redirect HTTP errors to HttpError page
 Server.Transfer("HttpErrorPage.aspx");
 }
 // For other kinds of errors give the user some information
 // but stay on the default page
 Response.Write("<h2>Global Page Error</h2>\n");
 Response.Write(
 "<p>" + exc.Message + "</p>\n");
 Response.Write("Return to the <a href="Default.aspx">" +
 "Default Page</a>\n");
 // Log the exception and notify system operators
 ExceptionUtility.LogException(exc, "DefaultPage");
 ExceptionUtility.NotifySystemOps(exc);
 // Clear the error from the server
 Server.ClearError();
}

licensed under cc by-sa 3.0 with attribution.