Есть такой обработчик ошибок в Global.asax.cs
protected void Application_Error(object sender, EventArgs e)
{
Exception exception = Server.GetLastError();
Response.Clear();
HttpException httpException = exception as HttpException;
if (httpException != null)
{
string action;
switch (httpException.GetHttpCode())
{
case 404:
// page not found
action = "HttpError";
break;
default:
action = "HttpError";
break;
}
Session["error"]=exception.Message;
// clear error on server
Server.ClearError();
Response.Redirect(String.Format("~/Home/HttpError/?message={0}", exception.Message));
}
}
После вызова 404 ошибки в любом месте
throw new HttpException(404, "not found");
Выполнение прерывается с сообщением, что возникла ошибка. Когда тыкаю Continue появляется моя страница ошибки и все нормально. Если же просто ввести левый адрес, то все нормально перехватывается, возникает моя страница ошибки.
Как быть? Почему ошибка нормально не перехватывается?