diff options
author | Ram Rachum <ram@rachum.com> | 2020-06-14 00:46:19 +0300 |
---|---|---|
committer | Ram Rachum <ram@rachum.com> | 2020-06-14 14:37:16 +0300 |
commit | 53c1dff91c0b7100e1ce1b51acbf0fffbc10cf9c (patch) | |
tree | 93bca0f98dfcf0f83f32987f898a7fbafe8f25dd /sphinx/registry.py | |
parent | 0fc97a0b56d31f2703ff42dfe946e8d11d667909 (diff) | |
download | sphinx-git-53c1dff91c0b7100e1ce1b51acbf0fffbc10cf9c.tar.gz |
Fix exception causes all over the codebase
Diffstat (limited to 'sphinx/registry.py')
-rw-r--r-- | sphinx/registry.py | 21 |
1 files changed, 12 insertions, 9 deletions
diff --git a/sphinx/registry.py b/sphinx/registry.py index cad74559c..0aec0a9fd 100644 --- a/sphinx/registry.py +++ b/sphinx/registry.py @@ -139,9 +139,9 @@ class SphinxComponentRegistry: entry_points = iter_entry_points('sphinx.builders', name) try: entry_point = next(entry_points) - except StopIteration: + except StopIteration as exc: raise SphinxError(__('Builder name %s not registered or available' - ' through entry point') % name) + ' through entry point') % name) from exc self.load_extension(app, entry_point.module_name) @@ -273,8 +273,8 @@ class SphinxComponentRegistry: def get_source_parser(self, filetype: str) -> "Type[Parser]": try: return self.source_parsers[filetype] - except KeyError: - raise SphinxError(__('Source parser for %s not registered') % filetype) + except KeyError as exc: + raise SphinxError(__('Source parser for %s not registered') % filetype) from exc def get_source_parsers(self) -> Dict[str, "Type[Parser]"]: return self.source_parsers @@ -311,9 +311,11 @@ class SphinxComponentRegistry: try: visit, depart = handlers # unpack once for assertion translation_handlers[node.__name__] = (visit, depart) - except ValueError: - raise ExtensionError(__('kwargs for add_node() must be a (visit, depart) ' - 'function tuple: %r=%r') % (builder_name, handlers)) + except ValueError as exc: + raise ExtensionError( + __('kwargs for add_node() must be a (visit, depart) ' + 'function tuple: %r=%r') % (builder_name, handlers) + ) from exc def get_translator_class(self, builder: Builder) -> "Type[nodes.NodeVisitor]": return self.translators.get(builder.name, @@ -407,7 +409,8 @@ class SphinxComponentRegistry: mod = import_module(extname) except ImportError as err: logger.verbose(__('Original exception:\n') + traceback.format_exc()) - raise ExtensionError(__('Could not import extension %s') % extname, err) + raise ExtensionError(__('Could not import extension %s') % extname, + err) from err setup = getattr(mod, 'setup', None) if setup is None: @@ -423,7 +426,7 @@ class SphinxComponentRegistry: __('The %s extension used by this project needs at least ' 'Sphinx v%s; it therefore cannot be built with this ' 'version.') % (extname, err) - ) + ) from err if metadata is None: metadata = {} |