Почему необработанное исключение в потоке таймера не приводит к сбою процесса

Я знаю, как необработанные исключения обрабатываются при использовании Task s, только бросая необработанное исключение в финализатор, если пользовательский код не 'соблюдался ' это еще.

Мне также известно, как необработанное исключение в асинхронном потоке (например, Action.BeginInvoke () ) перехватывается и повторно генерируется при соединительном вызове (например, Action.EndInvoke () ).

Но я не понимаю, как это не приводит к сбою процесса?

    static void Main(string[] args)
    {
        var timer = new System.Timers.Timer() {Interval = 100};
        timer.Elapsed += (o, e) => { throw new Exception(); };
        timer.Start();

        Console.ReadKey( true );
    }
7
задан Tyson 23 February 2012 в 04:13
поделиться