From b9f8f67ce5160610b6adcc011c86e61698034f79 Mon Sep 17 00:00:00 2001 From: Yann Leboulanger <asterix@lagaule.org> Date: Tue, 22 Nov 2011 22:51:33 +0100 Subject: [PATCH] print and ignore exceptions raised in an event handler. --- src/common/ged.py | 11 +++++++++-- 1 file changed, 9 insertions(+), 2 deletions(-) diff --git a/src/common/ged.py b/src/common/ged.py index 15586d987d..72920f05e6 100644 --- a/src/common/ged.py +++ b/src/common/ged.py @@ -25,6 +25,8 @@ Global Events Dispatcher module. :license: GPL ''' +import traceback + import logging log = logging.getLogger('gajim.c.ged') @@ -85,5 +87,10 @@ class GlobalEventsDispatcher(object): log.debug('%s\nArgs: %s'%(event_name, str(args))) if event_name in self.handlers: for priority, handler in self.handlers[event_name]: - if handler(*args, **kwargs): - return True + try: + if handler(*args, **kwargs): + return True + except Exception, e: + log.error('Error while running an even handler: %s' % \ + handler) + traceback.print_exc() -- GitLab