Application.SetUnhandledExceptionMode i win 8 universal app

本文关键字:universal app win SetUnhandledExceptionMode Application | 更新日期: 2023-09-27 18:31:51

我试图在我的 win 8.1 通用应用程序中添加一些异常处理。根据我在论坛上阅读的内容,我应该能够在我的 App.xaml.cs 中添加这样的东西:

AppDomain.CurrentDomain.UnhandledException += (s, e) =>
    LogUnhandledException((Exception) e.ExceptionObject, "AppDomain.CurrentDomain.UnhandledException");

或者:(来自 MSDN)

// Add the event handler for handling UI thread exceptions to the event.
    Application.ThreadException += new ThreadExceptionEventHandler(ErrorHandlerForm.Form1_UIThreadException);
    // Set the unhandled exception mode to force all Windows Forms errors to go through 
    // our handler.
    Application.SetUnhandledExceptionMode(UnhandledExceptionMode.CatchException);

问题是我无法在我的 App.xaml.cs 文件中使用 AppDaomain 或 Application.ThreadException。

有谁知道我在这里错过了什么?多谢!

编辑:

从我在这个线程中读到的内容:

http://stackoverflow.com/questions/13636751/is-there-a-global-exception-handler-in-windows-store-apps

这似乎是一种做类似事情的方法:

 public App() 
        {
            this.InitializeComponent();
            this.Suspending += this.OnSuspending;
            this.UnhandledException += App_UnhandledException;   
        }
        void App_UnhandledException(object sender, UnhandledExceptionEventArgs e)
        {
            //This method never seems to get hit
        }

然而,这似乎还不够,甲基永远不会被击中。这是否意味着没有例外发生?

Application.SetUnhandledExceptionMode i win 8 universal app

请记住,未经处理的异常只有在它们不在 try/catch 内时才触发。 如果要报告何时发生其他异常,请在 catch(异常 ex)中添加一个调用以发送异常。