Я бы регистрировал исключение и перенаправлял на страницу с ошибкой («Извините, мы облажались»).
В большинстве случаев я не думаю, что это стоит сложного восстановления (последнее непротиворечивое состояние). В отдельных случаях это может быть, но в основном нет.
Обратите внимание, что стандартные механизмы сделают большую часть этого за вас. Назначьте страницу с ошибкой, и ASP.NET перенаправит туда сообщение об ошибке. Кроме того, необработанные исключения будут регистрироваться ASP.NET Health Monitoring в журнале событий.