I use the PyCharm IDE which assists with crafting PEP0257-compliant docstrings. It provides two attributes I don't entirely understand the distinction/use between:
:raise Exception: exception explanation here
:raises Exception: exception explanation here
When would I use raise
as opposes to raises
in my docstring? Specifically, if a class required an argument that was not provided and raises a TypeError
, which should be used to document that?
TL;DR
raises
is used to describe the possible exceptions being raised. raise
is recognized by Sphinx when running autodoc and is the same as raises
.
Full Explanation
PyCharm helps in using a few different styles of docstring comments.
Three which I often use are:
In all of these there is a special section for Raises
which you can see in an older version of the PyCharm code tests:
The implementation for SphinxDocString
we can see here there there are numerous keywords which can be recognized. Those tags then link to the list of RAISES_TAGS
which can be found here.
I hope this information is useful.