C# 如何在Windows Phone中打印异常?

C# 如何在Windows Phone中打印异常?,c#,windows-phone-8,C#,Windows Phone 8,我正在尝试为windows phone 8编写应用程序。如果我得到任何异常,我想将其打印到屏幕上。下面是我正在做的: try { //The code which I want to handle for exception } catch (Exception e) { ErrorStatus.Text = e.Message + "\n

我正在尝试为windows phone 8编写应用程序。如果我得到任何异常,我想将其打印到屏幕上。下面是我正在做的:

try
            {
               //The code which I want to handle for exception
            }
            catch (Exception e)
            {
                ErrorStatus.Text = e.Message + "\n\n" + e.Source + "\n\n" + e.StackTrace;
            }
其中
ErrorStatus
是我的文本块。 但是,catch块中的唯一一行是在运行时给我一个异常。例外情况是:

System.Windows.ni.dll中发生了类型为“System.UnauthorizedAccessException”的首次意外异常
System.Windows.ni.dll中发生“System.UnauthorizedAccessException”类型的异常,在托管/本机边界之前未处理该异常

我在语法上做错了什么吗?我不熟悉C#编程和Windows Phone编程

编辑:

有关例外情况的更多详细信息:

System.UnauthorizedAccessException was unhandled by user code
HResult=-2147024891
Message=Invalid cross-thread access.
Source=System.Windows
InnerException: 

您需要显示来自UI线程的消息:web调用总是在后台工作线程上回调。因此,您需要调用Dispatcher,使其在UI线程上运行

您还可以使用
Exception.ToString()
将消息内容显示为字符串。这样做的好处是还可以显示正在处理的异常中的任何嵌套异常

作为临时措施,请尝试:

catch (Exception e)
{
    Deployment.Current.Dispatcher.BeginInvoke(() =>
    {
        ErrorStatus.Text = e.ToString();
    }
}

更持久地说,您应该修复该问题或将其记录到一个文件中,这样您就不会捕获掩盖代码中错误的异常。

这是打印异常消息的最佳方法,以便您可以知道问题所在:

try{}
catch(Exception ex)
{
    await new MessageDialog("Error message:\n\n" + ex.message).ShowAsync();
}

您是否在您的开发机器上本地执行此代码?是的。我正在我的模拟器上本地执行此代码。这只是在Visual Studio中创建的一个基本Windows Phone应用程序吗?您所说的“基本”是什么意思?抱歉,到目前为止,您采取了哪些步骤来创建Windows Phone 8应用程序?