Вам не нужно добавлять фильтр для захвата событий, просто обработайте Application_Error в global.asax.cs. Server.GetLastError () будет иметь информацию об исключении
Да, хм ... Нет.
Ошибка, показанная в исходном вопросе, показывает ошибку синтаксического анализа / компиляции - эти ошибки происходят в конвейере HttpHandler для ASP.NET (фильтр ISAPI в более старых версиях IIS), т. Е. до , ваше приложение запускается, поэтому перед любым событий в Global.asax.
Хотя вы можете указать пользовательскую страницу ошибки (в web.config, machine.config или IIS метабазе), это могут быть только файлы HTML.
1) если вас интересуют только исключения, возникающие в вашем коде (т. Е. Ваш код компилируется, но затем выдается исключение), вы можете воспользоваться предложением Дэна сверху и обработать событие Application_Error в Glocal.asax.
Если вы хотите обрабатывать исключения ASP.NET (например, ошибки синтаксического анализа / компиляции, ошибки файлов конфигурации и т. Д.), Вам необходимо подключить (или заменить) ASP.NET HttpHandler.
Вы можете обернуть существующий обработчик, написав свой собственный и перехватывая любые исключения, а затем перенаправляя на другую страницу ошибки.
Вы указали бы свой обработчик в файле web.config (или machine.config, если это глобальный обработчик).
В Интернете есть несколько хороших учебных пособий о том, как это сделать.
Попробуйте начать здесь: http://msdn.microsoft.com/en-us/library/f3ff8w4a(VS.71).aspx
(основная проблема: чтобы отлавливать ошибки парсинга / компиляции, вам нужно написать обработчик / фильтр, который на уровень выше обработчик / фильтр ASP.NET (я считаю)).
Надеюсь, это поможет,
Dourn.