如何防止不是由用户代码引起的异常?

本文关键字:异常 代码 用户 何防止 | 更新日期: 2023-09-27 17:51:02

我在商店里有一个Windows Phone 8.1应用程序似乎崩溃了。这通常很容易修复,但异常似乎发生在Windows API的深处。当我最初开发应用时,我从未遇到过这些例外情况。我也在网上搜索过,但似乎找不到关于这些的任何东西。
这是一个带有堆栈跟踪和异常数据的Excel在线工作簿。(OneDrive)

我的问题是,我如何解决这些异常,并防止他们在未来?

如何防止不是由用户代码引起的异常?

没有办法捕获Windows Phone应用程序上的所有异常,因为其中一些异常是由操作系统级别的不稳定性引起的。但是,您可以通过设置全局异常处理程序来捕获其中的许多异常。

首先,在应用构造函数中订阅UnhandledException事件:

public App()
{
    this.InitializeComponent();
    this.UnhandledException += App_UnhandledException; 
}

在事件处理程序中,将e.Handled设置为true:

void App_UnhandledException(object sender, UnhandledExceptionEventArgs e)
{
    e.Handled = true;
}

我还建议添加一种方法来记录异常并自动发送给您,因为您可能隐藏了您可以/应该修复的合法错误。