aboutsummaryrefslogtreecommitdiff
path: root/discord/client.py
diff options
context:
space:
mode:
authorHornwitser <[email protected]>2015-09-29 09:19:33 +0200
committerHornwitser <[email protected]>2015-10-06 19:09:16 +0200
commit74a06e0b79cbd298a9971a1d2cb66e5c4e3214dd (patch)
tree898baba233d8ee2cee1474b4c5e21d50218b8693 /discord/client.py
parentAdd client register API (diff)
downloaddiscord.py-74a06e0b79cbd298a9971a1d2cb66e5c4e3214dd.tar.xz
discord.py-74a06e0b79cbd298a9971a1d2cb66e5c4e3214dd.zip
Change behaviour of on_error
Change how the old style on_error event is called to match the new style on_error event. Both are now called in case an exception is raised in an user defined event handler, and will by default print the arguments of the event tha raised the exception and the traceback for the exception. In addition, overridding the on_error handler supresses this behaviour.
Diffstat (limited to 'discord/client.py')
-rw-r--r--discord/client.py5
1 files changed, 2 insertions, 3 deletions
diff --git a/discord/client.py b/discord/client.py
index c59f3809..8b68ad80 100644
--- a/discord/client.py
+++ b/discord/client.py
@@ -360,7 +360,7 @@ class Client(object):
self.events = {
'on_ready': _null_event,
'on_disconnect': _null_event,
- 'on_error': _null_event,
+ 'on_error': self.on_error,
'on_response': _null_event,
'on_message': _null_event,
'on_message_delete': _null_event,
@@ -457,8 +457,7 @@ class Client(object):
log.info('attempting to invoke event {}'.format(event_name))
self.events[event_name](*args, **kwargs)
except Exception as e:
- log.error('an error ({}) occurred in event {} so on_error is invoked instead'.format(type(e).__name__, event_name))
- self.events['on_error'](event_name, *sys.exc_info())
+ self.events['on_error'](event_name, *args, **kwargs)
def handle_socket_update(self, event, data):
method = '_'.join(('handle', event.lower()))