Я работаю с приложением Windows Forms и hava - это класс менеджера, который использует System.Timers.Timer для периодической проверки данных из базы данных.
Как получить Исключение, которое происходит в таймере Истекший обработчик событий, отправленный в основное приложение? Если я использую приведенный ниже код, исключение получает "проглотил", и основное приложение никогда не получает его (даже если у меня есть обработчики для ThreadException и UnHandledException).
// Main Form
Application.ThreadException += new System.Threading.ThreadExceptionEventHandler(Application_ThreadException);
AppDomain.CurrentDomain.UnhandledException += new UnhandledExceptionEventHandler(CurrentDomain_UnhandledException);
// Manager class
private System.Timers.Timer _timer;
void _timer_Elapsed(object sender, ElapsedEventArgs e)
{
try
{
doSomeDatabaseActions();
}
catch (Exception ex)
{
throw new ApplicationException("How do I get this error back into main thread...", ex);
}
}