From e466db397c8b54fd681c337c42f08d981f0d9c22 Mon Sep 17 00:00:00 2001 From: Yair Morgenstern Date: Sun, 6 Feb 2022 15:05:44 +0200 Subject: [PATCH] Better mod loading error messages --- core/src/com/unciv/JsonParser.kt | 9 +++++++-- core/src/com/unciv/models/ruleset/Ruleset.kt | 2 +- 2 files changed, 8 insertions(+), 3 deletions(-) diff --git a/core/src/com/unciv/JsonParser.kt b/core/src/com/unciv/JsonParser.kt index 794e6f9b7d..4eed8d6e60 100644 --- a/core/src/com/unciv/JsonParser.kt +++ b/core/src/com/unciv/JsonParser.kt @@ -3,6 +3,7 @@ package com.unciv import com.badlogic.gdx.Gdx import com.badlogic.gdx.files.FileHandle import com.badlogic.gdx.utils.Json +import com.unciv.logic.UncivShowableException class JsonParser { @@ -11,7 +12,11 @@ class JsonParser { fun getFromJson(tClass: Class, filePath: String): T = getFromJson(tClass, Gdx.files.internal(filePath)) fun getFromJson(tClass: Class, file: FileHandle): T { - val jsonText = file.readString(Charsets.UTF_8.name()) - return json.fromJson(tClass, jsonText) + try{ + val jsonText = file.readString(Charsets.UTF_8.name()) + return json.fromJson(tClass, jsonText) + } catch (exception:Exception){ + throw Exception("Could not parse json of file ${file.name()}", exception) + } } } \ No newline at end of file diff --git a/core/src/com/unciv/models/ruleset/Ruleset.kt b/core/src/com/unciv/models/ruleset/Ruleset.kt index 262e160697..b670324ba7 100644 --- a/core/src/com/unciv/models/ruleset/Ruleset.kt +++ b/core/src/com/unciv/models/ruleset/Ruleset.kt @@ -764,7 +764,7 @@ object RulesetCache : HashMap() { if (printOutput) { println("Exception loading mod '${modFolder.name()}':") println(" ${ex.localizedMessage}") - println(" (Source file ${ex.stackTrace[0].fileName} line ${ex.stackTrace[0].lineNumber})") + println(" ${ex.cause?.localizedMessage}") } } }