В Global.asax, если вы используете один, автоматически сгенерированный Visual Studio, вы можете добавить код в метод Application_Error для обработки исключений и регистрировать их любым способом, который вы выберете. Вы также можете переопределить метод Init и добавить обработчик события для события Error класса.
В любом случае вы получаете только бесполезный ванильный объект EventArgs, но вы можете использовать HttpContext.Current.Server.GetLastError (), чтобы получить возникшую исключительную ситуацию.
Как упоминалось в другом постере, это может не отражать исключения, которые вызываются асинхронно выполняющимися делегатами, потоками, которые вы запускаете сами, или асинхронными задачами страницы, созданными с помощью Page.RegisterAsyncTask (). В этих случаях вам всегда нужно убедиться, что в реализациях есть точки останова исключений, чтобы исключения могли быть перехвачены, а рабочий процесс IIS не был прерван.