diff --git a/src/main/java/org/maxgamer/quickshop/Util/SentryErrorReporter.java b/src/main/java/org/maxgamer/quickshop/Util/SentryErrorReporter.java index eeb57c200..949a07329 100644 --- a/src/main/java/org/maxgamer/quickshop/Util/SentryErrorReporter.java +++ b/src/main/java/org/maxgamer/quickshop/Util/SentryErrorReporter.java @@ -174,7 +174,15 @@ public class SentryErrorReporter { if (!enabled) { return false; } - String text = throwable.getMessage() + "%" + throwable.getStackTrace()[0]; + StackTraceElement stackTraceElement; + if (throwable.getStackTrace().length < 3) { + stackTraceElement = throwable.getStackTrace()[1]; + } else { + stackTraceElement = throwable.getStackTrace()[2]; + } + + String text = stackTraceElement.getClassName() + "#" + stackTraceElement.getMethodName() + "#" + stackTraceElement + .getLineNumber(); if (!reported.contains(text)) { reported.add(text); return true; @@ -209,6 +217,11 @@ public class SentryErrorReporter { if (Util.isDevMode()) { return true; } + //No, pls do not report the OutOfMemory Error, i didn't care it. + + if (record.getThrown() instanceof OutOfMemoryError) { + return true; + } sendError(record.getThrown(), record.getMessage()); return false; //Hide errors }