From c55982b11f2b868334ff16592c314df97ed7e5f8 Mon Sep 17 00:00:00 2001 From: jesopo Date: Thu, 14 Jul 2016 00:42:17 +0100 Subject: implemented error logging to EventManager (WIP) --- EventManager.py | 14 +++++++++++--- 1 file changed, 11 insertions(+), 3 deletions(-) (limited to 'EventManager.py') diff --git a/EventManager.py b/EventManager.py index 0a16a657..70700f4a 100644 --- a/EventManager.py +++ b/EventManager.py @@ -1,8 +1,9 @@ +import traceback class Event(object): - def __init__(self, bot, subevent, **kwargs): + def __init__(self, bot, name, **kwargs): self.bot = bot - self.subevent = subevent + self.name = name self.kwargs = kwargs self.eaten = False def __getitem__(self, key): @@ -68,7 +69,14 @@ class EventHook(object): break if event.eaten: break - returns.append(hook.call(event)) + try: + returns.append(hook.call(event)) + except Exception as e: + traceback.print_exc() + # TODO don't make this an event call. can lead to error cycles! + self.bot.events.on("log").on("error").call( + message="Failed to call event callback", + data=traceback.format_exc()) called += 1 return returns def get_child(self, child_name): -- cgit v1.3.1-10-gc9f91