XFE Git
XFE Studio Git
Git 首页 全局搜索
XFE 主站 文档 NuGet

HaloPixelToolBox

【WinUI3】基于USB HID通讯的花再音响工具箱

公开
关注 0 Fork 0 Star 0
返回提交历史

XFEstudio/HaloPixelToolBox

Add error handling for update check failure

- Wrapped GetReleaseNotes and NeedUpgrade methods with try-catch blocks - Made GetReleaseNotes return nullable to indicate failure - Added null check in AppShellPageViewModel to show user-friendly error message - Prevents InvalidOperationException from crashing the application Co-authored-by: XFEstudio <132526994+XFEstudio@users.noreply.github.com>

b7c4651
copilot-swe-agent[bot] <198982749+Copilot@users.noreply.github.com>
提交于

代码差异

2 个文件 +32 -2
Modified HaloPixelToolBox/HaloPixelToolBox/Utilities/Helpers/UpgradeHelper.cs +26 -2
@@ -15,13 +15,37 @@ public static class UpgradeHelper
15 15 /// 检测是否需要更新
16 16 /// </summary>
17 17 /// <returns></returns>
18 public static async Task<bool> NeedUpgrade() => (await Upgrader.GetReleaseNotes("HaloPixelToolBox", Version.ToString())).IsLatest;
18 public static async Task<bool> NeedUpgrade()
19 {
20 try
21 {
22 return (await Upgrader.GetReleaseNotes("HaloPixelToolBox", Version.ToString())).IsLatest;
23 }
24 catch (Exception ex)
25 {
26 Console.WriteLine($"[ERROR]检查更新时发生错误:{ex.Message}");
27 // 发生错误时默认返回 true(表示已是最新版本),避免影响用户使用
28 return true;
29 }
30 }
19 31
20 32 /// <summary>
21 33 /// 获取更新信息
22 34 /// </summary>
23 35 /// <returns></returns>
24 public static async Task<UpgradeInfoNotes> GetReleaseNotes() => await Upgrader.GetReleaseNotes("HaloPixelToolBox", Version.ToString());
36 public static async Task<UpgradeInfoNotes?> GetReleaseNotes()
37 {
38 try
39 {
40 return await Upgrader.GetReleaseNotes("HaloPixelToolBox", Version.ToString());
41 }
42 catch (Exception ex)
43 {
44 Console.WriteLine($"[ERROR]获取更新信息时发生错误:{ex.Message}");
45 // 返回 null 表示获取失败
46 return null;
47 }
48 }
25 49
26 50 /// <summary>
27 51 /// 开始更新
Modified HaloPixelToolBox/HaloPixelToolBox/ViewModels/AppShellPageViewModel.cs +6 -0
@@ -45,6 +45,12 @@ public partial class AppShellPageViewModel : ViewModelBase
45 45 MessageService.ShowMessage("正在检查更新...", "检查更新", InfoBarSeverity.Informational);
46 46 Console.WriteLine("正在检查更新...");
47 47 var upgradeInfo = await UpgradeHelper.GetReleaseNotes();
48 if (upgradeInfo == null)
49 {
50 MessageService.ShowMessage("检查更新失败,请稍后重试", "检查更新", InfoBarSeverity.Error);
51 Console.WriteLine("[ERROR]获取更新信息失败");
52 return;
53 }
48 54 if (upgradeInfo.IsLatest)
49 55 {
50 56 MessageService.ShowMessage("当前已是最新版本", "检查更新", InfoBarSeverity.Success);