diff --git a/src/Snap.Hutao/Snap.Hutao/Resource/Localization/SH.resx b/src/Snap.Hutao/Snap.Hutao/Resource/Localization/SH.resx
index 6621ff90..8d22f31f 100644
--- a/src/Snap.Hutao/Snap.Hutao/Resource/Localization/SH.resx
+++ b/src/Snap.Hutao/Snap.Hutao/Resource/Localization/SH.resx
@@ -1010,6 +1010,9 @@
替换:{0}
+
+ 在读取本地 Package Version 时遇到问题,修复游戏可能会有所帮助
+
重命名数据文件夹名称失败
diff --git a/src/Snap.Hutao/Snap.Hutao/Service/Game/LaunchOptions.cs b/src/Snap.Hutao/Snap.Hutao/Service/Game/LaunchOptions.cs
index fb8f68df..c5b2fa2e 100644
--- a/src/Snap.Hutao/Snap.Hutao/Service/Game/LaunchOptions.cs
+++ b/src/Snap.Hutao/Snap.Hutao/Service/Game/LaunchOptions.cs
@@ -245,6 +245,7 @@ internal sealed class LaunchOptions : DbStoreOptions
set => SetOption(ref disableFog, SettingEntry.LaunchDisableFog, value);
}
+ [NotNull]
public NameValue? Monitor
{
get
diff --git a/src/Snap.Hutao/Snap.Hutao/Service/Game/Package/PackageConverter.cs b/src/Snap.Hutao/Snap.Hutao/Service/Game/Package/PackageConverter.cs
index 91d23eab..43da232f 100644
--- a/src/Snap.Hutao/Snap.Hutao/Service/Game/Package/PackageConverter.cs
+++ b/src/Snap.Hutao/Snap.Hutao/Service/Game/Package/PackageConverter.cs
@@ -178,9 +178,16 @@ internal sealed partial class PackageConverter
private async ValueTask GetLocalItemsAsync(string gameFolder)
{
- using (FileStream localSteam = File.OpenRead(Path.Combine(gameFolder, PackageVersion)))
+ try
{
- return await GetVersionItemsAsync(localSteam).ConfigureAwait(false);
+ using (FileStream localSteam = File.OpenRead(Path.Combine(gameFolder, PackageVersion)))
+ {
+ return await GetVersionItemsAsync(localSteam).ConfigureAwait(false);
+ }
+ }
+ catch (JsonException ex)
+ {
+ throw HutaoException.Throw(SH.ServiceGamePackageReadLocalPackageVerionFailed, ex);
}
}