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
}
然而,这似乎还不够,甲基永远不会被击中。这是否意味着没有例外发生?
请记住,未经处理的异常只有在它们不在 try/catch 内时才触发。 如果要报告何时发生其他异常,请在 catch(异常 ex)中添加一个调用以发送异常。