namespace Unhandled
{
    class Program
    {
        static void Main(string[] args)
        {
            AppDomain.CurrentDomain.UnhandledException += OnUnhandledException;

            // Celowo doprowadzamy do awarii, by doprowadzić do wystąpienia 
            // zdarzenia UnhandledException. 
            throw new InvalidOperationException();
        }

        private static void OnUnhandledException(object sender,
            UnhandledExceptionEventArgs e)
        {
            Console.WriteLine($"Wyjątek nie został obsłużony: {e.ExceptionObject}");
        }
    }
}
