From d1d93f05e0ed96e6e664cd95b9f8212d60d6ed9b Mon Sep 17 00:00:00 2001 From: Max Weber Date: Sun, 6 May 2018 01:00:17 -0600 Subject: [PATCH] runelite-client: Log uncaught exceptions Previously exceptions would be printed to stderr, and not show in log files. This also adds a case for AbstractMethodError because it almost always means the injector needs to be re-ran. --- .../src/main/java/net/runelite/client/RuneLite.java | 9 +++++++++ 1 file changed, 9 insertions(+) diff --git a/runelite-client/src/main/java/net/runelite/client/RuneLite.java b/runelite-client/src/main/java/net/runelite/client/RuneLite.java index 5c65ebfa96..6491750a37 100644 --- a/runelite-client/src/main/java/net/runelite/client/RuneLite.java +++ b/runelite-client/src/main/java/net/runelite/client/RuneLite.java @@ -154,6 +154,15 @@ public class RuneLite logger.setLevel(Level.DEBUG); } + Thread.setDefaultUncaughtExceptionHandler((thread, throwable) -> + { + log.error("Uncaught exception:", throwable); + if (throwable instanceof AbstractMethodError) + { + log.error("Classes are out of date; Build with maven again."); + } + }); + setInjector(Guice.createInjector(new RuneLiteModule())); injector.getInstance(RuneLite.class).start(getOptions().valueOf(updateMode)); }