[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
[Qemu-devel] [PATCH 05/11] qemu.py: Use custom exceptions rather than Ex
From: |
Lukáš Doktor |
Subject: |
[Qemu-devel] [PATCH 05/11] qemu.py: Use custom exceptions rather than Exception |
Date: |
Thu, 20 Jul 2017 18:28:09 +0200 |
The naked Exception should not be widely used. It makes sense to be a
bit more specific and use better-suited custom exceptions. As a benefit
we can store the full reply in the exception in case someone needs it
when catching the exception.
Signed-off-by: Lukáš Doktor <address@hidden>
---
scripts/qemu.py | 17 +++++++++++++++--
1 file changed, 15 insertions(+), 2 deletions(-)
diff --git a/scripts/qemu.py b/scripts/qemu.py
index 5948e19..2bd522f 100644
--- a/scripts/qemu.py
+++ b/scripts/qemu.py
@@ -19,6 +19,19 @@ import subprocess
import qmp.qmp
+class MonitorResponseError(qmp.qmp.QMPError):
+ '''
+ Represents erroneous QMP monitor reply
+ '''
+ def __init__(self, reply):
+ try:
+ desc = reply["error"]["desc"]
+ except KeyError:
+ desc = reply
+ super(MonitorResponseError, self).__init__(desc)
+ self.reply = reply
+
+
class QEMUMachine(object):
'''A QEMU VM'''
@@ -197,9 +210,9 @@ class QEMUMachine(object):
'''
reply = self.qmp(cmd, conv_keys, **args)
if reply is None:
- raise Exception("Monitor is closed")
+ raise qmp.qmp.QMPError("Monitor is closed")
if "error" in reply:
- raise Exception(reply["error"]["desc"])
+ raise MonitorResponseError(reply)
return reply["return"]
def get_qmp_event(self, wait=False):
--
2.9.4
- Re: [Qemu-devel] [PATCH 11/11] qtest.py: Avoid using mutable list as default argument, (continued)
- [Qemu-devel] [PATCH 03/11] qemu.py: Use iteritems rather than keys(), Lukáš Doktor, 2017/07/20
- [Qemu-devel] [PATCH 02/11] qemu.py: Avoid dangerous arguments, Lukáš Doktor, 2017/07/20
- [Qemu-devel] [PATCH 08/11] qmp.py: Avoid "has_key" usage, Lukáš Doktor, 2017/07/20
- [Qemu-devel] [PATCH 05/11] qemu.py: Use custom exceptions rather than Exception,
Lukáš Doktor <=
- Re: [Qemu-devel] [PATCH 05/11] qemu.py: Use custom exceptions rather than Exception, Eduardo Habkost, 2017/07/20
- Re: [Qemu-devel] [PATCH 05/11] qemu.py: Use custom exceptions rather than Exception, Lukáš Doktor, 2017/07/21
- Re: [Qemu-devel] [PATCH 05/11] qemu.py: Use custom exceptions rather than Exception, Eduardo Habkost, 2017/07/21
- Re: [Qemu-devel] [PATCH 05/11] qemu.py: Use custom exceptions rather than Exception, Lukáš Doktor, 2017/07/24
- Re: [Qemu-devel] [PATCH 05/11] qemu.py: Use custom exceptions rather than Exception, Eduardo Habkost, 2017/07/24
- Re: [Qemu-devel] [PATCH 05/11] qemu.py: Use custom exceptions rather than Exception, Lukáš Doktor, 2017/07/25
[Qemu-devel] [PATCH 09/11] qmp.py: Avoid overriding a builtin object, Lukáš Doktor, 2017/07/20