]> www.infradead.org Git - qemu-nvme.git/commitdiff
python/aqmp: fix ConnectError string method
authorJohn Snow <jsnow@redhat.com>
Thu, 11 Nov 2021 14:37:16 +0000 (09:37 -0500)
committerJohn Snow <jsnow@redhat.com>
Tue, 16 Nov 2021 19:26:36 +0000 (14:26 -0500)
When ConnectError is used to wrap an Exception that was initialized
without an error message, we are treated to a traceback with a rubbish
line like this:

... ConnectError: Failed to establish session:

Correct this to use the name of an exception as a fallback message:

... ConnectError: Failed to establish session: EOFError

Better!

Signed-off-by: John Snow <jsnow@redhat.com>
Reported-by: Thomas Huth <thuth@redhat.com>
Tested-by: Thomas Huth <thuth@redhat.com>
Message-id: 20211111143719.2162525-3-jsnow@redhat.com
Signed-off-by: John Snow <jsnow@redhat.com>
python/qemu/aqmp/protocol.py

index 860b79512d777d2ef903d3f7d0e421649b98d120..5190b33b13df24fc2ca4aed934ed1f184a4888e1 100644 (file)
@@ -79,7 +79,11 @@ class ConnectError(AQMPError):
         self.exc: Exception = exc
 
     def __str__(self) -> str:
-        return f"{self.error_message}: {self.exc!s}"
+        cause = str(self.exc)
+        if not cause:
+            # If there's no error string, use the exception name.
+            cause = exception_summary(self.exc)
+        return f"{self.error_message}: {cause}"
 
 
 class StateError(AQMPError):