Наблюдение за исключениями Task в ContinueWith

Существуют различные способы наблюдения за исключениями, возникающими в задачах. Один из них находится в ContinueWith с OnlyOnFaulted :

var task = Task.Factory.StartNew(() =>
{
    // Throws an exception 
    // (possibly from within another task spawned from within this task)
});

var failureTask = task.ContinueWith((t) =>
{
    // Flatten and loop (since there could have been multiple tasks)
    foreach (var ex in t.Exception.Flatten().InnerExceptions)
        Console.WriteLine(ex.Message);
}, TaskContinuationOptions.OnlyOnFaulted);

. Мой вопрос :Исключения становятся автоматически наблюдаемыми после запуска failureTask или они становятся наблюдаемыми только после того, как я «касаюсь» ex.Message?

11
задан Dave New 31 July 2012 в 15:34
поделиться