using System.Threading.Tasks;
static async Task Error() => await Task.FromException(new Exception("error"));
static async Task<int> Success() => await Task.FromResult<int>(42);
static async Task<int> SuccessDelay()
return await Task.FromResult<int>(42);
static async Task ErrorDelay()
await Task.FromException(new Exception("error"));
public static async Task Main()
Console.WriteLine("Hello World");
await Task.WhenAll(t1,t2,t3,t4);
catch (Exception) { Console.WriteLine("Exception caught");}
Console.WriteLine("end");