Load save-state for Cards: improve error messages. (#1025)

. better error message for (unlikely) slot mismatch.
. better error message if load state version is invalid.
This commit is contained in:
Andrea
2022-01-30 21:25:40 +00:00
committed by GitHub
parent 24378313c3
commit 7ab65492c6
18 changed files with 196 additions and 148 deletions
+3 -3
View File
@@ -48,7 +48,7 @@ LanguageCardUnit::LanguageCardUnit(SS_CARDTYPE type, UINT slot) :
m_uLastRamWrite(0)
{
if (m_slot != LanguageCardUnit::kSlot0)
throw std::runtime_error("Language Card: wrong slot"); // throws to the top-level catch-handler, and shuts down
ThrowErrorInvalidSlot();
SetMemMainLanguageCard(NULL, true);
}
@@ -221,7 +221,7 @@ void LanguageCardSlot0::SaveSnapshot(YamlSaveHelper& yamlSaveHelper)
bool LanguageCardSlot0::LoadSnapshot(YamlLoadHelper& yamlLoadHelper, UINT version)
{
if (version != kUNIT_LANGUAGECARD_VER)
throw std::runtime_error("Card: wrong version");
ThrowErrorInvalidVersion(version);
// "State"
LoadLCState(yamlLoadHelper);
@@ -419,7 +419,7 @@ void Saturn128K::SaveSnapshot(YamlSaveHelper& yamlSaveHelper)
bool Saturn128K::LoadSnapshot(YamlLoadHelper& yamlLoadHelper, UINT version)
{
if (version != kUNIT_SATURN_VER)
throw std::runtime_error("Card: wrong version");
ThrowErrorInvalidVersion(version);
// "State"
LoadLCState(yamlLoadHelper);