|
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
[Prev in Thread] | Current Thread | [Next in Thread] |