हो जाता है मैं एक निरंतरता त्रुटियों को संभालने के लिए के साथ एक कार्य है:टास्क निरंतरता (OnlyOnFaulted) अभी भी अप्रत्यक्ष अपवाद
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);
निरंतरता मारा जाता है, लेकिन कुछ ही सेकंड बाद में मैं आवेदन में यह त्रुटि प्राप्त:
कार्य का अपवाद (0) को कार्य पर प्रतीक्षा करके या इसकी अपवाद संपत्ति तक पहुंचकर देखा गया था। नतीजतन, unobserved अपवाद को फाइनलाइज़र थ्रेड द्वारा पुनर्स्थापित किया गया था।
क्या यह uiScheduler से संबंधित है? मैं 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
माइक्रोसॉफ्ट ने .NET अपवाद नीति को बदल दिया है क्योंकि यह उत्तर लिखा गया था। Https://msdn.microsoft.com/en-us/library/hh367887.aspx#core पर unobserved अपवाद देखें –