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 <js...@redhat.com> Reviewed-by: Philippe Mathieu-Daudé <phi...@redhat.com> Reviewed-by: Kevin Wolf <kw...@redhat.com> Message-id: 20201006235817.3280413-18-js...@redhat.com Signed-off-by: John Snow <js...@redhat.com> --- python/qemu/qmp.py | 9 +++++---- 1 file changed, 5 insertions(+), 4 deletions(-) diff --git a/python/qemu/qmp.py b/python/qemu/qmp.py index 9223307ed8..d911999da1 100644 --- a/python/qemu/qmp.py +++ b/python/qemu/qmp.py @@ -181,10 +181,11 @@ def __get_events(self, wait: Union[bool, float] = False) -> None: self.__sock.settimeout(wait) try: ret = self.__json_read(only_event=True) - except socket.timeout: - raise QMPTimeoutError("Timeout waiting for event") - except: - raise QMPConnectError("Error while reading from socket") + except socket.timeout as err: + raise QMPTimeoutError("Timeout waiting for event") from err + except Exception as err: + msg = "Error while reading from socket" + raise QMPConnectError(msg) from err if ret is None: raise QMPConnectError("Error while reading from socket") self.__sock.settimeout(None) -- 2.26.2