System.Windows.Application.OnUnhandledException C# (CSharp) Method

OnUnhandledException() static private method

static private OnUnhandledException ( object sender, Exception ex ) : void
sender object
ex Exception
return void
		internal static void OnUnhandledException (object sender, Exception ex)
		{
			try {
				Application app = Application.Current;
				string unmanaged_report = ex.ToString();

				if (app != null && app.UnhandledException != null) {
					ApplicationUnhandledExceptionEventArgs args = new ApplicationUnhandledExceptionEventArgs (ex, false);
					try {
						app.UnhandledException (sender, args);
						if (args.Handled)
							unmanaged_report = null;
					} catch (Exception ex2) {
						Console.WriteLine ("Exception caught in Application UnhandledException handler: " + ex2);
						unmanaged_report = ex2.Message;
					}
				} else {
					Console.WriteLine ("Unhandled Exception: " + ex);
				}

				if (unmanaged_report != null) {
					Deployment.Current.EmitError (4004, unmanaged_report);
				}
			} catch {
				// Make this completely safe.
			}
		}