Proper exception chaining.

This commit is contained in:
Rapptz 2016-01-13 20:08:55 -05:00
parent bbe6455eb9
commit 4edff12f6b
3 changed files with 7 additions and 7 deletions

View File

@ -456,8 +456,8 @@ class Bot(GroupMixin, discord.Client):
lib = importlib.import_module(name) lib = importlib.import_module(name)
try: try:
lib.setup(self) lib.setup(self)
except AttributeError: except AttributeError as e:
raise discord.ClientException('extension does not have a setup function') raise discord.ClientException('extension does not have a setup function') from e
self.extensions[name] = lib self.extensions[name] = lib

View File

@ -183,8 +183,8 @@ class Command:
elif converter is discord.Invite: elif converter is discord.Invite:
try: try:
return bot.get_invite(argument.strip()) return bot.get_invite(argument.strip())
except: except Exception as e:
raise BadArgument('Invite is invalid') raise BadArgument('Invite is invalid') from e
def _get_converter(self, param): def _get_converter(self, param):
converter = param.annotation converter = param.annotation
@ -217,8 +217,8 @@ class Command:
return self.do_conversion(ctx.bot, ctx.message, converter, argument) return self.do_conversion(ctx.bot, ctx.message, converter, argument)
except CommandError as e: except CommandError as e:
raise e raise e
except Exception: except Exception as e:
raise BadArgument('Converting to "{0.__name__}" failed.'.format(converter)) raise BadArgument('Converting to "{0.__name__}" failed.'.format(converter)) from e
@property @property
def clean_params(self): def clean_params(self):

View File

@ -400,7 +400,7 @@ class VoiceClient:
p = subprocess.Popen(args, stdin=stdin, stdout=subprocess.PIPE) p = subprocess.Popen(args, stdin=stdin, stdout=subprocess.PIPE)
return ProcessPlayer(p, self, after) return ProcessPlayer(p, self, after)
except subprocess.SubprocessError as e: except subprocess.SubprocessError as e:
raise ClientException('Popen failed: {0.__name__} {1}'.format(type(e), str(e))) raise ClientException('Popen failed: {0.__name__} {1}'.format(type(e), str(e))) from e
def create_ytdl_player(self, url, *, options=None, use_avconv=False, after=None): def create_ytdl_player(self, url, *, options=None, use_avconv=False, after=None):