質問

私のC#のアプリ、でも私ハンドル例外でます:

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

、その後、ハンドラでダイアログボックスを表示し、Application.Exitをやって まだ送信してダイアログをWindowsエラー報告を取得し、Doが...

を送信しません

ポップアップからダイアログをWindowsエラー報告を予防するには?

<時間>

実際には例外がメインフォームのコンストラクタからスローされた場合、プログラムは、WindowsのエラーレポートDLGで終わります。 UIスレッドの他の場所からそうでない場合、次にとして期待される。

役に立ちましたか?

解決

あなたはアプリを自分で終了する必要があります。これは、それを行います。

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));
}

他のヒント

プレゼントの選択肢がマイクロソフトにエラー報告を送信送信したりしないようにというダイアログが例外を超えています。あなたが} {危険なブロックを使用するか、あなたには、いくつかの不正な操作を実行するのinvoke / Pを使用する場合、これは起こるかもしれません。

私はあなたの問題の症状を戦うべきではないと思います。未処理の例外は、最初の場所で起こるべきではありません。

あなたがそれらを引き起こしているものを上の任意の手掛かりを持っていますか?

ライセンス: CC-BY-SA帰属
所属していません StackOverflow
scroll top