Pregunta

En mi aplicación de C #, incluso excepción de identificador:

Application.SetUnhandledExceptionMode(UnhandledExceptionMode.CatchException);
AppDomain.CurrentDomain.UnhandledException +=
    new UnhandledExceptionEventHandler(CurrentDomain_UnhandledException);

y luego en el cuadro de diálogo que muestra manejador y haciendo Application.Exit sigue recibiendo las ventanas de diálogo de informe de errores con SEND, no envíe ...

¿Cómo evitar errores de Windows de diálogo de aparecer?


De hecho, si la excepción desde un formulario principal constructor continuación, el programa termina con el informe de error de Windows DLG. De lo contrario, si de alguna otra ubicación de hilo de interfaz de usuario, a continuación, como se esperaba.

¿Fue útil?

Solución

Tendrá que finalice la aplicación de uno mismo. Esto hará que:

static void CurrentDomain_UnhandledException(object sender, UnhandledExceptionEventArgs e) {
  var ex = e.ExceptionObject as Exception;
  MessageBox.Show(ex.ToString());
  if (!System.Diagnostics.Debugger.IsAttached)
    Environment.Exit(System.Runtime.InteropServices.Marshal.GetHRForException(ex));
}

Otros consejos

El diálogo que se presenta la opción de enviar o no enviar un informe de error a Microsoft está más allá de excepciones. Esto puede ocurrir si utiliza bloques inseguras o {} se utiliza p / invoke de que realizan alguna operación ilegal.

creo que no se debe combatir los síntomas de su problema. Las excepciones no controladas no pasaran en el primer lugar.

¿Tiene alguna pista sobre lo que está haciendo que?

Licenciado bajo: CC-BY-SA con atribución
No afiliado a StackOverflow
scroll top