diff --git a/src/irclib.py b/src/irclib.py index de8ff9e1a..89319eb9e 100644 --- a/src/irclib.py +++ b/src/irclib.py @@ -70,7 +70,14 @@ class IrcCallback(object): def __call__(self, irc, msg): commandName = 'do' + msg.command.capitalize() if hasattr(self, commandName): - getattr(self, commandName)(irc, msg) + method = getattr(self, commandName) + try: + method(irc, msg) + except Exception, e: + debug.recoverableException() + s = 'Exception raised by %s.%s' % \ + (self.__class__.__name__, method.im_func.func_name) + debug.debugMsg(s) def reset(self): pass