print and ignore exceptions raised in an event handler.
This commit is contained in:
parent
6c605cad41
commit
b9f8f67ce5
|
@ -25,6 +25,8 @@ Global Events Dispatcher module.
|
||||||
:license: GPL
|
:license: GPL
|
||||||
'''
|
'''
|
||||||
|
|
||||||
|
import traceback
|
||||||
|
|
||||||
import logging
|
import logging
|
||||||
log = logging.getLogger('gajim.c.ged')
|
log = logging.getLogger('gajim.c.ged')
|
||||||
|
|
||||||
|
@ -85,5 +87,10 @@ class GlobalEventsDispatcher(object):
|
||||||
log.debug('%s\nArgs: %s'%(event_name, str(args)))
|
log.debug('%s\nArgs: %s'%(event_name, str(args)))
|
||||||
if event_name in self.handlers:
|
if event_name in self.handlers:
|
||||||
for priority, handler in self.handlers[event_name]:
|
for priority, handler in self.handlers[event_name]:
|
||||||
if handler(*args, **kwargs):
|
try:
|
||||||
return True
|
if handler(*args, **kwargs):
|
||||||
|
return True
|
||||||
|
except Exception, e:
|
||||||
|
log.error('Error while running an even handler: %s' % \
|
||||||
|
handler)
|
||||||
|
traceback.print_exc()
|
||||||
|
|
Loading…
Reference in New Issue