В Windows Forms вы можете отправлять необработанные исключения (которые в противном случае могли бы вызвать всплывающее окно необработанных исключений) в ваш обработчик исключений, добавив следующее в метод Main()
до вызова метода Application.Run()
:
Application.SetUnhandledExceptionMode(UnhandledExceptionMode.CatchException);
Вы можете подписать свой обработчик на событие необработанного исключения, добавив следующее в конструктор формы или в другое место:
Application.ThreadException += myHandler;
И метод обработчика вашей формы будет выглядеть так:
void myHandler(object sender, System.Threading.ThreadExceptionEventArgs e)
{
//do something
}
Вы можете найти больше информации об этом в msdn .