C# XAML在未处理的异常和app.g.i.cs文件上生成的中断是什么

C# XAML在未处理的异常和app.g.i.cs文件上生成的中断是什么,c#,visual-studio,windows-phone,win-universal-app,C#,Visual Studio,Windows Phone,Win Universal App,我是windows应用程序开发新手。我正在尝试使用x64平台在本地计算机上执行解决方案。但每当我执行Buttom_Click事件时,我都会得到这个异常 #if DEBUG && !DISABLE_XAML_GENERATED_BREAK_ON_UNHANDLED_EXCEPTION UnhandledException += (sender, e) => { if (global::System

我是windows应用程序开发新手。我正在尝试使用x64平台在本地计算机上执行解决方案。但每当我执行Buttom_Click事件时,我都会得到这个异常

#if DEBUG && !DISABLE_XAML_GENERATED_BREAK_ON_UNHANDLED_EXCEPTION
            UnhandledException += (sender, e) =>
            {
                if (global::System.Diagnostics.Debugger.IsAttached) global::System.Diagnostics.Debugger.Break();
            };
#endif
在App.g.i.cs文件中

当调试器点击下面的变量“icon”时,我得到了这个异常

 private async void Button_Click(object sender, RoutedEventArgs e)
        {
            RootObject myWeather =
                await OpenWeatherMapProxy.GetWeather(20.0,30.0);

            string icon = String.Format("ms-appx:///Assets/Weather/{0}.png", myWeather.weather[0].icon);
            ResultImage.Source = new BitmapImage(new Uri(icon, UriKind.Absolute));
            ResultTextBlock.Text = myWeather.name + " - " + ((int)myWeather.main.temp).ToString() + " - " + myWeather.weather[0].description;
        }

如果有人能解释如何消除此异常以及什么是App.g.i.cs文件,这将非常有用。

App.g.i.cs
是一个自动生成的文件,它在该位置中断,因为您在代码中没有正确处理异常

private async void Button_Click(object sender, RoutedEventArgs e)
{
    try{

    RootObject myWeather =
        await OpenWeatherMapProxy.GetWeather(20.0,30.0);

    string icon = String.Format("ms-appx:///Assets/Weather/{0}.png", myWeather.weather[0].icon);
    ResultImage.Source = new BitmapImage(new Uri(icon, UriKind.Absolute));
    ResultTextBlock.Text = myWeather.name + " - " + ((int)myWeather.main.temp).ToString() + " - " + myWeather.weather[0].description;

    }
    catch(Exception ex)
    {
       Debug.WriteLine(ex.Message);
       Debug.WriteLine(ex.StackTrace);
    }
}
当应用程序运行时,转到“输出”窗口并查看异常详细信息,您可能会找到答案


最可能的异常是由
myWeather
myWeather.weather[0]
为null引起的,因为
OpenWeatherMapProxy.GetWeather
无法获取数据。

在“字符串图标=…”处为null,但调试器甚至没有点击“结果图像=…”这一行,异常正在被抛出。感谢您的回复,现在很清楚我应该做什么来正确处理。我按照您所说的做了,当我在输出窗口中组合异常结果时,归结为“对象引用未设置为TestWeather.MainPage.d_u1.MoveNext()上的对象实例”,但我从未实现MoveNext()方法,并且在解决方案中也找不到它。您可以发布整个堆栈跟踪吗?在TestWeather.MainPage.d_u1.MoveNext()上,这是整个堆栈跟踪。这不是堆栈跟踪。。。它给出了调用的整个路径;这样就无需在整个代码中添加
try
/
catch