Thanks, Victor. Yes, there are absolutely use cases for each. Sometimes you may wish to unwrap the aggregate exception from WaitAll, other times you may not.
Something to keep in mind is that although WhenAll does not wrap the exception, it only returns the first exception.
This means that if multiple exceptions, you only see the first, though it will ensure all tasks run to completion.
Victor Palomares
SW developer :)
Nice article Ashley! As a point of favour of WhenAll is that the AggregateException is only raised with
WaitAll.WhenAllor individual calls would raise the original exception.