标题说明了一切。基本上,在Windows 8商店应用程序中,如果发生未处理的异常,那么是否会调用OnSuspending事件?我发现这几乎不可能以任何确定性进行调试
答案 0 :(得分:0)
不,不叫它。 :(
我在使用新的MediaCapture API进行开发时发现了这一点。如果您不清理资源(例如停止录制/预览),则手机会变得不稳定,并在下次尝试使用相机时冻结操作系统。建议使用挂起事件来清理资源,这就是我所做的。但是如果遇到未处理的异常,我的手机(设备不是模拟器)会变得不稳定,因此没有调用清理方法。这使我相信在未处理的异常中,不会调用挂起。
我建议做berXpert建议的事情。设置处理为真,然后退出。
答案 1 :(得分:-1)
如果你需要在未处理之后调用某些东西,你可以附加到App对象的unhandledexception事件:
public App()
{
...
this.UnhandledException += (s,e) => {
e.Handled = true;
this.DoSomethingWithTheError;
this.Exit();
};
}
它将以任何方式退出应用程序。