summaryrefslogtreecommitdiff
path: root/src/main/java/at/hannibal2/skyhanni/test/command
diff options
context:
space:
mode:
authorhannibal2 <24389977+hannibal00212@users.noreply.github.com>2023-10-21 12:01:47 +0200
committerhannibal2 <24389977+hannibal00212@users.noreply.github.com>2023-10-21 12:01:47 +0200
commita98927303854058ad2d7a0d8bb88265c54139614 (patch)
treeeae66388dfbc7e736fdc43a8d501edb457e61b5b /src/main/java/at/hannibal2/skyhanni/test/command
parent830fdb7022ac173b421daeddfbc7e67c0d9f891b (diff)
downloadskyhanni-a98927303854058ad2d7a0d8bb88265c54139614.tar.gz
skyhanni-a98927303854058ad2d7a0d8bb88265c54139614.tar.bz2
skyhanni-a98927303854058ad2d7a0d8bb88265c54139614.zip
better repo error handling
Diffstat (limited to 'src/main/java/at/hannibal2/skyhanni/test/command')
-rw-r--r--src/main/java/at/hannibal2/skyhanni/test/command/ErrorManager.kt17
1 files changed, 12 insertions, 5 deletions
diff --git a/src/main/java/at/hannibal2/skyhanni/test/command/ErrorManager.kt b/src/main/java/at/hannibal2/skyhanni/test/command/ErrorManager.kt
index 7db251300..84b180cd8 100644
--- a/src/main/java/at/hannibal2/skyhanni/test/command/ErrorManager.kt
+++ b/src/main/java/at/hannibal2/skyhanni/test/command/ErrorManager.kt
@@ -51,16 +51,23 @@ object ErrorManager {
logError(IllegalStateException(internalMessage), userMessage)
}
+ // we love java
fun logError(throwable: Throwable, message: String) {
+ logError(throwable, message, false)
+ }
+
+ fun logError(throwable: Throwable, message: String, ignoreErrorCache: Boolean) {
val error = Error(message, throwable)
Minecraft.getMinecraft().thePlayer ?: throw error
error.printStackTrace()
- val pair = if (throwable.stackTrace.isNotEmpty()) {
- throwable.stackTrace[0].let { it.fileName to it.lineNumber }
- } else message to 0
- if (cache.getIfPresent(pair) != null) return
- cache.put(pair, Unit)
+ if (!ignoreErrorCache) {
+ val pair = if (throwable.stackTrace.isNotEmpty()) {
+ throwable.stackTrace[0].let { it.fileName to it.lineNumber }
+ } else message to 0
+ if (cache.getIfPresent(pair) != null) return
+ cache.put(pair, Unit)
+ }
val fullStackTrace = throwable.getExactStackTrace(true).joinToString("\n")
val stackTrace = throwable.getExactStackTrace(false).joinToString("\n").removeSpam()