using System.Threading.Tasks;
public class UnobservedTaskException
public static void Main()
TaskScheduler.UnobservedTaskException += TaskScheduler_UnobservedTaskException;
Console.WriteLine("Task started.");
throw new Exception("Test Exception");
Console.WriteLine("Collecting garbage");
GC.WaitForPendingFinalizers();
Console.WriteLine("Waiting");
static void TaskScheduler_UnobservedTaskException(object sender, UnobservedTaskExceptionEventArgs e)
Console.WriteLine("EXCEPTION UNOBSERVED");