на данный момент я пытаюсь некоторые новые особенности библиотеки Task Parallel Library, поставляется с 4.0 Beta .Net Framework 2.Обработка исключений (Task Parallel Library) .Net Framework 4.0 Beta 2
Мой вопрос относится конкретно к обработки исключений в пределах TPL, как описано здесь, : http://msdn.microsoft.com/en-us/library/dd997415%28VS.100%29.aspx
Первый пример (изменил его немного):
static void Main(string[] args)
{
var task1 = Task.Factory.StartNew(() =>
{
throw new Exception("I'm bad, but not too bad!"); // Unhandled Exception here...
});
try
{
task1.Wait(); // Exception is not handled here....
}
catch (AggregateException ae)
{
foreach (var e in ae.InnerExceptions)
{
Console.WriteLine(e.Message);
}
}
Console.ReadLine();
}
Accord в документацию исключение должно быть распространено обратно к соединению, которое вызывает: task1.Wait()
.
Но я всегда получаю необработанное исключение в пределах:
var task1 = Task.Factory.StartNew(() =>
{
throw new MyCustomException("I'm bad, but not too bad!");
});
Может кто-нибудь объяснить мне, почему, или кто-то знает, если что-то изменилось с момента выхода Beta 2?
К сожалению, это ничего не меняет в поведении, все еще существует необработанное исключение, как описано выше. –