gpt4 book ai didi

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

转载 作者:行者123 更新时间:2023-11-30 23:29:29 29 4
gpt4 key购买 nike

我是 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 文件中。

当调试器点击下面的变量“图标”时出现此异常

 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);
}
}

在应用程序运行时转到“输出”窗口并查看异常详细信息,您可能会找到答案。

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

关于c# - 什么是 XAML 在未处理的异常和 app.g.i.cs 文件上生成中断,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/35392931/

29 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com