Ho un compito con una continuazione per gestire gli errori:Task Continuazione (OnlyOnFaulted) diventa ancora un'eccezione inosservata
var uiScheduler = TaskScheduler.FromCurrentSynchronizationContext();
var loadTask = Task<List<OrderItemViewModel>>.Factory.StartNew(() =>
{
throw new Exception("derp");
});
var errorContinue = loadTask.ContinueWith(t =>
{
MainViewModel.RemoveViewModel(this);
}, CancellationToken.None, TaskContinuationOptions.OnlyOnFaulted, uiScheduler);
La continuazione viene colpito, ma pochi secondi dopo ricevo questo errore nell'applicazione:
Un'eccezione di un'attività non è stata osservata né dall'attesa sull'attività né dall'accesso alla relativa proprietà di eccezione. Di conseguenza, l'eccezione non osservata è stata ripubblicata dal thread del finalizzatore.
E 'collegato a uiScheduler? La soluzione alla domanda simile è fondamentalmente quello che sto facendo A Task's exception(s) were not observed either by Waiting on the Task or accessing its Exception property. As a result, the unobserved exception was
Microsoft ha modificato la politica delle eccezioni .NET da quando è stata scritta questa risposta. Vedi le eccezioni inosservate su https://msdn.microsoft.com/en-us/library/hh367887.aspx#core –