diff --git a/Flow.Launcher.Infrastructure/Storage/BinaryStorage.cs b/Flow.Launcher.Infrastructure/Storage/BinaryStorage.cs index 48e6b55238c..ce5ba14c48d 100644 --- a/Flow.Launcher.Infrastructure/Storage/BinaryStorage.cs +++ b/Flow.Launcher.Infrastructure/Storage/BinaryStorage.cs @@ -66,8 +66,17 @@ public async ValueTask TryLoadAsync(T defaultData) await SaveAsync(); } - await using var stream = new FileStream(FilePath, FileMode.Open); - Data = await DeserializeAsync(stream, defaultData); + try + { + await using var stream = new FileStream(FilePath, FileMode.Open); + Data = await DeserializeAsync(stream, defaultData); + } + catch (System.Exception e) + { + Log.Exception(ClassName, $"Failed to load stream and deserialize for <{FilePath}>", e); + Data = defaultData; + return defaultData; + } } else { @@ -81,16 +90,8 @@ public async ValueTask TryLoadAsync(T defaultData) private static async ValueTask DeserializeAsync(Stream stream, T defaultData) { - try - { - var t = await MemoryPackSerializer.DeserializeAsync(stream); - return t ?? defaultData; - } - catch (System.Exception) - { - // Log.Exception($"|BinaryStorage.Deserialize|Deserialize error for file <{FilePath}>", e); - return defaultData; - } + var t = await MemoryPackSerializer.DeserializeAsync(stream); + return t ?? defaultData; } public void Save()