using System.Collections.Generic;
using System.Linq.Expressions;
public async Task DownloadDataAsync()
Console.WriteLine("Download1 started");
throw new InvalidOperationException("Simulated download error");
Console.WriteLine("Download1 completed ");
Console.WriteLine("Errrrrrorrr: " + ex.Message);
public async Task DownloadDataAsync2()
Console.WriteLine("Download2 started");
Console.WriteLine("Download2 completed ");
public static async Task Main(string[] args)
Program program = new Program();
Task Task1 = program.DownloadDataAsync();
Task Task2 = program.DownloadDataAsync2();
await Task.WhenAll(Task1, Task2);
Console.WriteLine("Program download complete");