qemu-devel
[Top][All Lists]
Advanced

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

Re: [PATCH 17/20] python/qemu/qmp.py: Preserve error context on re-raise


From: John Snow
Subject: Re: [PATCH 17/20] python/qemu/qmp.py: Preserve error context on re-raise
Date: Wed, 7 Oct 2020 15:03:53 -0400
User-agent: Mozilla/5.0 (X11; Linux x86_64; rv:68.0) Gecko/20100101 Thunderbird/68.11.0

On 10/7/20 7:21 AM, Kevin Wolf wrote:
Am 07.10.2020 um 01:58 hat John Snow geschrieben:
Use the "from ..." phrasing when re-raising errors to preserve their
initial context, to help aid debugging when things go wrong.

This also silences a pylint 2.6.0+ error.

Signed-off-by: John Snow <jsnow@redhat.com>

I don't really understand what this improves compared to the implicit
chaining we got before, but if pylint says so...

Reviewed-by: Kevin Wolf <kwolf@redhat.com>


Yeah, it's a pretty minimal change. Depending on the context, I think it makes a bigger difference depending on how far away you are from the error you are re-raising, but I couldn't find a great real-world example for you right now.

In summary, it changes this line:

"During handling of the above exception, another exception occurred:"

to this one:

"The above exception was the direct cause of the following exception:"

Which disambiguates between wrapping an exception with a more semantically meaningful exception class, vs. your handler code itself faulted.

Minor change, I know. You are also allowed to use "from None" to suppress the chain. I use this in the QAPI series at one point because I felt the underlying error was not useful to see in the traceback.

I see the pylint change as forcing you not to rely on the implicit chaining. Eh, fine.

--js




reply via email to

[Prev in Thread] Current Thread [Next in Thread]