0

私は多くのレベルの階層を持つ大きなアプリケーションに取り組んでおり、ロギングメッセージを呼び出してそれらを忘れることに夢中になっているところまで来ています。テスト中に時々例外が発生します。現在、インターフェイスやその他の方法でエラーメッセージをメインフォームに転送しています。

例外の場合にアプリケーションを作成して、メインフォームで常に単一のメソッドをトリガーする方法はありますか?

つまり、例外をキャッチして、インターフェイスを介して転送します。これを無視して、例外が発生するたびに、メインフォームで1つのメソッドを自動的に実行できるようにしたいと思います。

4

1 に答える 1

1

例外がアプリケーションを介してバブルアップすることを許可する場合は、AppDomain.UnhandledExceptionを使用できます。とにかく、意味のある処理ができない例外が発生するのを許可する必要があります。

このような何かがトリックを行う必要があります:

class Program
{
    public static void Main()
    {
        form = new MainForm();
        AppDomain.CurrentDomain.UnhandledException +=
            new UnhandledExceptionEventHandler(form.OnUnhandledException);
        Application.Run(form);
    }
}
于 2013-03-11T15:31:35.653 に答える