完善存档容错机制

This commit is contained in:
wszqkzqk 2022-07-27 17:11:27 +08:00
parent 5df1997efe
commit ead7826d80
2 changed files with 2 additions and 3 deletions

View File

@ -23,7 +23,7 @@
* 其他操作系统为`~/.config/wszqkzqk.dev/pypvz/userdata.json`
* 存档为JSON文件如果出现因存档损坏而造成程序无法启动可以手动编辑修复或者删除该文件重试
* 0.8.12.0版本后理论上不可能因为存档损坏而无法启动,如果有,请在[issues](https://github.com/wszqkzqk/pypvz/issues)中报告bug
* 但是仍然有可能因为升级后变量名不同而丢失存档的进度信息,这种情况手动编辑恢复即可
* 仍然有可能因为升级后变量名不同而丢失存档的进度信息,这种情况手动编辑恢复即可
* 支持错误日志记录
* Windows下默认日志文件的保存路径为`~\AppData\Roaming\wszqkzqk.dev\pypvz\run.log`
* 其他操作系统为`~/.config/wszqkzqk.dev/pypvz/run.log`

View File

@ -57,8 +57,7 @@ class Control():
with open(c.USERDATA_PATH, "w") as f:
savedata = json.dumps(self.game_info, sort_keys=True, indent=4)
f.write(savedata)
except FileNotFoundError:
# 不存在存档即新建
except: # 这里需要考虑多种情况如文件不存在、文件不可读、文件不符合JSON语法要求这些情况目前暂定统一进行新建文件操作
if not os.path.exists(os.path.dirname(c.USERDATA_PATH)):
os.makedirs(os.path.dirname(c.USERDATA_PATH))
with open(c.USERDATA_PATH, "w") as f: