Как получить Исключение, которое происходит в событии Timer Elapsed?

Я работаю с приложением Windows Forms и имею класс менеджера, который использует System.Timers.Timer для периодической проверки данных из базы данных.

Как получить исключение, которое возникает в обработчике событий Elapsed с таймером, доставленное в основное приложение? Если я использую приведенный ниже код, исключение get «проглатывается», и основное приложение никогда не получает его (даже если у меня есть обработчики для 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);
        }
    }

Ответы на вопрос(4)

Ваш ответ на вопрос