private static void CurrentDomain_UnhandledException(object sender, UnhandledExceptionEventArgs e) { Console.WriteLine(e.IsTerminating ? "Error:" : "Warning:"); Console.WriteLine(e.ExceptionObject); if (e.IsTerminating) { m_Crashed = true; bool close = false; try { CrashedEventArgs args = new CrashedEventArgs(e.ExceptionObject as Exception); EventSink.InvokeCrashed(args); close = args.Close; } catch { } if (!close && !IsService) { Console.WriteLine("This exception is fatal, press return to exit"); Console.ReadLine(); } Kill(); } }
internal static void InvokeCrashed(CrashedEventArgs e) { if (Crashed != null) Crashed(e); }