On Wed, Oct 25, 2023 at 6:10 AM Markus Armbruster <arm...@redhat.com> wrote:
>
> Pylint advises:
>
>     docs/sphinx/qapidoc.py:518:12: W0707: Consider explicitly re-raising 
> using 'raise ExtensionError(str(err)) from err' (raise-missing-from)
>
> From its manual:
>
>     Python's exception chaining shows the traceback of the current
>     exception, but also of the original exception.  When you raise a
>     new exception after another exception was caught it's likely that
>     the second exception is a friendly re-wrapping of the first
>     exception.  In such cases `raise from` provides a better link
>     between the two tracebacks in the final error.
>
> Makes sense, so do it.
>
> Signed-off-by: Markus Armbruster <arm...@redhat.com>

In this case it probably doesn't make a difference because Sphinx has
its own formatting for displaying the errors, but it's good hygiene.

Reviewed-by: John Snow <js...@redhat.com>

> ---
>  docs/sphinx/qapidoc.py | 2 +-
>  1 file changed, 1 insertion(+), 1 deletion(-)
>
> diff --git a/docs/sphinx/qapidoc.py b/docs/sphinx/qapidoc.py
> index 8f3b9997a1..658c288f8f 100644
> --- a/docs/sphinx/qapidoc.py
> +++ b/docs/sphinx/qapidoc.py
> @@ -515,7 +515,7 @@ def run(self):
>          except QAPIError as err:
>              # Launder QAPI parse errors into Sphinx extension errors
>              # so they are displayed nicely to the user
> -            raise ExtensionError(str(err))
> +            raise ExtensionError(str(err)) from err
>
>      def do_parse(self, rstlist, node):
>          """Parse rST source lines and add them to the specified node
> --
> 2.41.0
>
>


Reply via email to