diff --git a/src/irclib.py b/src/irclib.py index e3f3f498b..ec2fc715f 100644 --- a/src/irclib.py +++ b/src/irclib.py @@ -667,8 +667,11 @@ class Irc(IrcCommandDispatcher): """Makes the Irc object die. Dead.""" log.info('Irc object for %s dying.' % self.server) if self in world.ircs: - for callback in self.callbacks: - callback.die() + for cb in self.callbacks: + try: + cb.die() + except Exception, e: + log.exception('Uncaught exception in %s.die:', cb.name()) world.ircs.remove(self) else: log.warning('Irc object killed twice.')