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

时间:2015-05-28 11:47:36

标签: c# exception-handling windows-phone-8.1

我在商店里有一个Windows Phone 8.1应用程序似乎崩溃了一些。这通常很容易修复,但异常似乎在Windows API中发生。当我最初开发我的应用程序时,我从未遇到任何这些异常。我也在网上搜索过,但似乎无法找到关于这些内容的任何内容 Here's an Excel Online workbook with stack trace and exception data.(OneDrive)

我的问题是,如何解决这些例外并在将来阻止它们?

1 个答案:

答案 0 :(得分:2)

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

首先,订阅app构造函数中的UnhandledException事件:

public App()
{
    this.InitializeComponent();

    this.UnhandledException += App_UnhandledException; 
}

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

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

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