autosummary: Add support for Exception subclasses #14174
+4
−3
Add this suggestion to a batch that can be applied as a single commit.
This suggestion is invalid because no changes were made to the code.
Suggestions cannot be applied while the pull request is closed.
Suggestions cannot be applied while viewing a subset of changes.
Only one suggestion per line can be applied in a batch.
Add this suggestion to a batch that can be applied as a single commit.
Applying suggestions on deleted lines is not supported.
You must change the existing code in this line in order to create a valid suggestion.
Outdated suggestions cannot be applied.
This suggestion has been applied or marked resolved.
Suggestions cannot be applied from pending reviews.
Suggestions cannot be applied on multi-line comments.
Suggestions cannot be applied while the pull request is queued to merge.
Suggestion cannot be applied right now. Please check back later.
Purpose
Traditionally, Sphinx's autosummary generation for exceptions is quite succinct: just the class name and the docstring if any. This make sense in general, as
Exceptionsubclasses typically do not add attributes and methods. However, in the case of a more complex exception class with additional attributes and methods, users could create a customautosummary/exception.rsttemplate to render additional content in theExceptionsubclass.The second commit in this PR enhances autodoc to populate members/attributes/methods in exceptions, treating them similarly as a class. By default, the template machinery will still render exceptions in a succinct way (through the fallback to the
autosummary/base.rsttemplate). However, users can not implement their ownautosummary/exception.rsttemplate for a more detailed rendering of theirExceptionsubclasses.