diff options
author | nextdaydelivery <79922345+nxtdaydelivery@users.noreply.github.com> | 2022-07-25 11:39:45 +0100 |
---|---|---|
committer | GitHub <noreply@github.com> | 2022-07-25 12:39:45 +0200 |
commit | 64329ad7ccedba53c47ccd3a08b9eb97e756122c (patch) | |
tree | 296b1972e61f80b21f501f30d2489a894a70c5df /src/main/java/cc/polyfrost/oneconfig/events | |
parent | 80d2e24958526c8274ed9c58e56e60ab1aaaf731 (diff) | |
download | OneConfig-64329ad7ccedba53c47ccd3a08b9eb97e756122c.tar.gz OneConfig-64329ad7ccedba53c47ccd3a08b9eb97e756122c.tar.bz2 OneConfig-64329ad7ccedba53c47ccd3a08b9eb97e756122c.zip |
Config Checker (#67)
Diffstat (limited to 'src/main/java/cc/polyfrost/oneconfig/events')
-rw-r--r-- | src/main/java/cc/polyfrost/oneconfig/events/EventManager.java | 19 |
1 files changed, 18 insertions, 1 deletions
diff --git a/src/main/java/cc/polyfrost/oneconfig/events/EventManager.java b/src/main/java/cc/polyfrost/oneconfig/events/EventManager.java index 8492806..4e43410 100644 --- a/src/main/java/cc/polyfrost/oneconfig/events/EventManager.java +++ b/src/main/java/cc/polyfrost/oneconfig/events/EventManager.java @@ -1,7 +1,10 @@ package cc.polyfrost.oneconfig.events; +import cc.polyfrost.oneconfig.config.core.exceptions.InvalidTypeException; import cc.polyfrost.oneconfig.libs.eventbus.EventBus; +import cc.polyfrost.oneconfig.libs.eventbus.exception.ExceptionHandler; import cc.polyfrost.oneconfig.libs.eventbus.invokers.LMFInvoker; +import org.jetbrains.annotations.NotNull; /** * Manages all events from OneConfig. @@ -11,7 +14,7 @@ public final class EventManager { * The instance of the {@link EventManager}. */ public static final EventManager INSTANCE = new EventManager(); - private final EventBus eventBus = new EventBus(new LMFInvoker(), Throwable::printStackTrace); + private final EventBus eventBus = new EventBus(new LMFInvoker(), new OneConfigExceptionHandler()); private EventManager() { @@ -55,4 +58,18 @@ public final class EventManager { public void post(Object event) { eventBus.post(event); } + + + /** + * Bypass to allow special exceptions to actually crash + */ + private static class OneConfigExceptionHandler implements ExceptionHandler { + @Override + public void handle(@NotNull Exception e) { + if(e instanceof InvalidTypeException) { + throw (InvalidTypeException) e; + } + else e.printStackTrace(); + } + } } |