using System.Threading.Tasks;
public static async Task Main()
await Task.WhenAll(Enumerable.Range(0, 5).Select(async i =>
await Task.Delay((i + 1) * 1000);
Console.WriteLine($"Throwing {i}");
throw new Exception($"Error {i}");
Console.WriteLine($"Completing {i}");
Console.WriteLine($"Final Catching {e.GetType().FullName} {e is AggregateException}");