0

我正在开发一个具有很多层次结构的大型应用程序,并且我正在发疯地调用日志消息并忘记它们。在测试时我不时遇到异常。现在我正在通过接口和其他方式将错误消息转发到我的主窗体。

有没有办法让应用程序在异常情况下始终触发主窗体中的单个方法。

我的意思是,现在我捕获异常并通过接口转发它。我希望能够忽略这一点,每次发生异常时,在主窗体中自动执行一个方法

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 回答