[core] Fix: 缓存可能因为计算机硬碟或程式不稳定造成损毁。 (#2841)

* Fix: 缓存可能因为计算机硬碟或程式不稳定造成损毁。

* Apply suggestions from code review

---------

Co-authored-by: Him188 <Him188@mamoe.net>
This commit is contained in:
赵怡然 2024-03-03 08:01:12 +08:00 committed by GitHub
parent eeb32177f6
commit 876805895b
No known key found for this signature in database
GPG Key ID: B5690EEEBB952194

View File

@ -72,7 +72,12 @@ public fun <T> MiraiFile.loadNotBlankAs(
if (!this.exists() || this.length == 0L) { if (!this.exists() || this.length == 0L) {
return null return null
} }
return stringFormat.decodeFromString(serializer, this.readText()) return try {
stringFormat.decodeFromString(serializer, this.readText())
} catch (e: Throwable) { //broken file
e.printStackTrace()
null
}
} }
public fun <T> MiraiFile.loadNotBlankAs( public fun <T> MiraiFile.loadNotBlankAs(
@ -82,6 +87,10 @@ public fun <T> MiraiFile.loadNotBlankAs(
if (!this.exists() || this.length == 0L) { if (!this.exists() || this.length == 0L) {
return null return null
} }
return binaryFormat.decodeFromByteArray(serializer, this.readBytes()) return try {
binaryFormat.decodeFromByteArray(serializer, this.readBytes())
} catch (e: Throwable) { //broken file
e.printStackTrace()
null
}
} }