Compare commits

..

2 Commits

Author SHA1 Message Date
Robert McRackan
87f13ff8ed Incr. ver. 2022-02-21 10:26:58 -05:00
Robert McRackan
1e24df626a Add error recovery around FileLocations.json to handle file corruption 2022-02-21 10:24:56 -05:00
3 changed files with 15 additions and 3 deletions

View File

@@ -3,7 +3,7 @@
<PropertyGroup>
<TargetFramework>net6.0</TargetFramework>
<Version>6.6.7.1</Version>
<Version>6.6.8.1</Version>
</PropertyGroup>
<ItemGroup>

View File

@@ -208,7 +208,7 @@ namespace FileManager
{
var msg = "Unrecoverable error. Settings file cannot be found";
var ex = new FileNotFoundException(msg, Filepath);
Serilog.Log.Logger.Error(msg, ex);
Serilog.Log.Logger.Error(ex, msg);
throw ex;
}
@@ -226,7 +226,7 @@ namespace FileManager
{
var msg = "Unrecoverable error. Unable to read settings from Settings file";
var ex = new NullReferenceException(msg);
Serilog.Log.Logger.Error(msg, ex);
Serilog.Log.Logger.Error(ex, msg);
throw ex;
}

View File

@@ -26,6 +26,18 @@ namespace LibationFileManager
if (File.Exists(jsonFile))
{
var list = JsonConvert.DeserializeObject<List<CacheEntry>>(File.ReadAllText(jsonFile));
// file exists but deser is null. this will never happen when file is healthy
if (list is null)
{
lock (locker)
{
Serilog.Log.Logger.Error("Error deserializing file. Wrong format. Possibly corrupt. Deleting file. {@DebugInfo}", new { jsonFile });
File.Delete(jsonFile);
return;
}
}
cache = new Cache<CacheEntry>(list);
}
}