using System.Threading.Tasks;
public static void Main()
Console.WriteLine("Program ending");
public static async Task thinger() {
using var cancellationSource = new CancellationTokenSource();
TimeSpan timeSpan = TimeSpan.FromSeconds(1);
cancellationSource.CancelAfter(timeSpan);
Console.WriteLine("start delay");
await Task.Delay(timeSpan, cancellationSource.Token);
Console.WriteLine("end delay");
Console.WriteLine($"{e.GetType().Name}:: {e.Message}");