From: Daniel P. Berrange Date: Fri, 22 Aug 2008 10:50:18 +0000 (+0000) Subject: Use libvirt error message for python exceptions X-Git-Tag: LIBVIRT_0_4_6~62 X-Git-Url: http://git.ipfire.org/cgi-bin/gitweb.cgi?a=commitdiff_plain;h=8f789f1b2f82583718ff4357c3b3ced21cb3d018;p=thirdparty%2Flibvirt.git Use libvirt error message for python exceptions --- diff --git a/ChangeLog b/ChangeLog index 54644cd7de..e13e72e01e 100644 --- a/ChangeLog +++ b/ChangeLog @@ -1,3 +1,8 @@ +Fri Aug 22 11:49:42 BST 2008 Daniel P. Berrange + + * python/libvir.py: Use libvirt error message as exception + message for improved diagnostics + Fri Aug 22 10:30:42 CEST 2008 Jim Meyering configure.in: link with -lpthread when necessary diff --git a/python/libvir.py b/python/libvir.py index 784152abec..cf5e776987 100644 --- a/python/libvir.py +++ b/python/libvir.py @@ -15,8 +15,7 @@ import types # The root of all libvirt errors. class libvirtError(Exception): - def __init__(self, msg, conn=None, dom=None, net=None, pool=None, vol=None): - Exception.__init__(self, msg) + def __init__(self, defmsg, conn=None, dom=None, net=None, pool=None, vol=None): if dom is not None: conn = dom._conn @@ -28,9 +27,17 @@ class libvirtError(Exception): conn = vol._conn if conn is None: - self.err = virGetLastError() + err = virGetLastError() + else: + err = conn.virConnGetLastError() + if err is None: + msg = defmsg else: - self.err = conn.virConnGetLastError() + msg = err[2] + + Exception.__init__(self, msg) + + self.err = err def get_error_code(self): if self.err is None: @@ -77,12 +84,6 @@ class libvirtError(Exception): return None return self.err[8] - def __str__(self): - if self.get_error_message() is None: - return Exception.__str__(self) - else: - return Exception.__str__(self) + " " + self.get_error_message() - # # register the libvirt global error handler #