Я недавно переключился на обработку моих необработанных исключений следующим образом:
Application.ThreadException += new System.Threading.ThreadExceptionEventHandler(Application_ThreadException);
Application.SetUnhandledExceptionMode(UnhandledExceptionMode.CatchException);
AppDomain.CurrentDomain.UnhandledException += new UnhandledExceptionEventHandler(CurrentDomain_UnhandledException);
Это будет хорошо для ведения журнала, а что нет, но я потерял способность старого необработанного поля исключений «продолжить». Мой текущий обработчик просто запрашивает перезапуск. Большую часть времени нажатие кнопки «Продолжить» в этом необработанном окне исключений фактически поддерживает работу программы. Как это работает? Есть ли способ, которым я могу позволить «продолжить» тем способом, которым я сейчас улавливаю необработанные исключения? Скажите, если исключение относится к определенному типу, могу ли я попытаться «продолжить» так же, как это делает необработанное исключение? Или это невозможно?
Кто-нибудь там понимает гайки и болты мира исключений? Хотелось бы услышать мысли ваших парней.