Browse Source

Add logging to debug vcmp campaign parsing failure

Ivan Savenko 4 months ago
parent
commit
be31a7efea
1 changed files with 10 additions and 1 deletions
  1. 10 1
      lib/campaign/CampaignHandler.cpp

+ 10 - 1
lib/campaign/CampaignHandler.cpp

@@ -295,7 +295,16 @@ CampaignTravel CampaignHandler::readScenarioTravelFromJson(JsonNode & reader)
 		ret.playerColor = PlayerColor(PlayerColor::decode(reader["playerColor"].String()));
 
 	for(auto & bjson : reader["bonuses"].Vector())
-		ret.bonusesToChoose.emplace_back(bjson, ret.startOptions);
+	{
+		try {
+			ret.bonusesToChoose.emplace_back(bjson, ret.startOptions);
+		}
+		catch (const std::exception & e)
+		{
+			logGlobal->error("Failed to parse campaign bonus: %s", bjson.toCompactString());
+			throw e;
+		}
+	}
 
 	return ret;
 }