From 4d73331a449f0b0647066f7dde0628730fe0e178 Mon Sep 17 00:00:00 2001 From: nea Date: Wed, 28 Sep 2022 12:45:56 +0200 Subject: Fairy souls --- .../kotlin/moe/nea/notenoughupdates/events/NEUEventBus.kt | 13 ++++++++++++- 1 file changed, 12 insertions(+), 1 deletion(-) (limited to 'src/main/kotlin/moe/nea/notenoughupdates/events/NEUEventBus.kt') diff --git a/src/main/kotlin/moe/nea/notenoughupdates/events/NEUEventBus.kt b/src/main/kotlin/moe/nea/notenoughupdates/events/NEUEventBus.kt index eba71bc..7eb0ecd 100644 --- a/src/main/kotlin/moe/nea/notenoughupdates/events/NEUEventBus.kt +++ b/src/main/kotlin/moe/nea/notenoughupdates/events/NEUEventBus.kt @@ -1,7 +1,14 @@ package moe.nea.notenoughupdates.events import java.util.concurrent.CopyOnWriteArrayList +import moe.nea.notenoughupdates.NotEnoughUpdates +/** + * A pubsub event bus. + * + * [subscribe] to events [publish]ed on this event bus. + * Subscriptions may not necessarily be delivered in the order or registering. + */ open class NEUEventBus { data class Handler(val invocation: (T) -> Unit, val receivesCancelled: Boolean) @@ -17,7 +24,11 @@ open class NEUEventBus { fun publish(event: T): T { for (function in toHandle) { if (function.receivesCancelled || event !is NEUEvent.Cancellable || !event.cancelled) { - function.invocation(event) + try { + function.invocation(event) + } catch (e: Exception) { + NotEnoughUpdates.logger.error("Caught exception during processing event $event", e) + } } } return event -- cgit