Мы фиксируем исключение в файле Global.asax, сохраняем его в сеансе, затем пользователь перенаправляется на страницу ошибок, где мы получаем исключение для нашей переменной сеанса и отображаем информацию сообщения пользователю.
protected void Application_Error(object sender, EventArgs e)
{
Exception ex = Server.GetLastError();
this.Session[CacheProvider.ToCacheKey(CacheKeys.LastError)] = ex;
}
Мы регистрируем сообщение об ошибке до его отображения пользователем.