summaryrefslogtreecommitdiff
path: root/sphinx/pycode/__init__.py
diff options
context:
space:
mode:
Diffstat (limited to 'sphinx/pycode/__init__.py')
-rw-r--r--sphinx/pycode/__init__.py10
1 files changed, 5 insertions, 5 deletions
diff --git a/sphinx/pycode/__init__.py b/sphinx/pycode/__init__.py
index 87ac5d9ec..295963ca3 100644
--- a/sphinx/pycode/__init__.py
+++ b/sphinx/pycode/__init__.py
@@ -35,7 +35,7 @@ class ModuleAnalyzer:
try:
mod = import_module(modname)
except Exception as err:
- raise PycodeError('error importing %r' % modname, err)
+ raise PycodeError('error importing %r' % modname, err) from err
loader = getattr(mod, '__loader__', None)
filename = getattr(mod, '__file__', None)
if loader and getattr(loader, 'get_source', None):
@@ -52,7 +52,7 @@ class ModuleAnalyzer:
try:
filename = loader.get_filename(modname)
except ImportError as err:
- raise PycodeError('error getting filename for %r' % modname, err)
+ raise PycodeError('error getting filename for %r' % modname, err) from err
if filename is None:
# all methods for getting filename failed, so raise...
raise PycodeError('no source found for module %r' % modname)
@@ -90,7 +90,7 @@ class ModuleAnalyzer:
if '.egg' + path.sep in filename:
obj = cls.cache['file', filename] = cls.for_egg(filename, modname)
else:
- raise PycodeError('error opening %r' % filename, err)
+ raise PycodeError('error opening %r' % filename, err) from err
return obj
@classmethod
@@ -102,7 +102,7 @@ class ModuleAnalyzer:
code = egg.read(relpath).decode()
return cls.for_string(code, modname, filename)
except Exception as exc:
- raise PycodeError('error opening %r' % filename, exc)
+ raise PycodeError('error opening %r' % filename, exc) from exc
@classmethod
def for_module(cls, modname: str) -> "ModuleAnalyzer":
@@ -158,7 +158,7 @@ class ModuleAnalyzer:
self.tags = parser.definitions
self.tagorder = parser.deforders
except Exception as exc:
- raise PycodeError('parsing %r failed: %r' % (self.srcname, exc))
+ raise PycodeError('parsing %r failed: %r' % (self.srcname, exc)) from exc
def find_attr_docs(self) -> Dict[Tuple[str, str], List[str]]:
"""Find class and module-level attributes and their documentation."""