Мне нужна помощь с простым Task.When Все C # кода.У меня одновременно выполняется до 50 различных задач, однако некоторые из этих вызовов могут возвращать сообщение об ошибке.
Я пытаюсь написать код обработки исключений, чтобы я мог обработать те, которые работали(что он делает), но фиксирует те, которые допустили ошибку, поэтому я могу выполнить дополнительный код для них.
Существует AggregateException, но есть ли способ увидеть, какие вызовы / входы создали это исключение?
Я не могу поделиться действительным кодом из-за строгой политики компании, но пример таков:
List<ListDetails> libs = getListDetails();
var tasks = new Task<List<ItemDetails>>[libs.Count];
for (int i = 0; i < libs.Count; i++)
{
tasks[i] = getListItems(libs[i].ServerRelativeUrl, libs[i].ListId);
}
try
{
await Task.WhenAll(tasks);
}
catch(AggregateException aex)
{
//Capture which Server RelativeUrls and ListIDs that failed.
}