On Thu, May 18, 2006 at 12:31:53PM -0700, Kaleb Pederson wrote:
> Hello,
>
> I don't see any way to get at the exception class that is being used by
> xen.lowlevel.xc. I wanted to be able to grab just the xen exceptions,
> but it doesn't appear possible:
>
> >>> import xen.lowlevel.xc as xc
> >>> dir(xc)
> ['__doc__', '__file__', '__name__', 'xc']
> # the only thing listed is the xc class
>
> # i'm running 3.0.2 using the sedf scheduler, so this should fail
> >>> try:
> ... x.bvtsched_domain_get(0)
> ... except Exception, e:
> ... print e.__class__
> ... print dir(e)
> ... print dir(e.__class__)
> ... print e.__module__
> ... print e.args
> ...
> xen.lowlevel.xc.error
> ['__doc__', '__getitem__', '__init__', '__module__', '__str__',
> 'args']
> ['__doc__', '__getitem__', '__init__', '__module__', '__str__']
> xen.lowlevel.xc
> (22, 'Invalid argument')
> >>> e
> <xen.lowlevel.xc.error instance at 0xb7b78b2c>
> >>> xc.error
> Traceback (most recent call last):
> File "<stdin>", line 1, in ?
> AttributeError: 'module' object has no attribute 'error'
>
> Did I miss something? If not, could the xen.lowlevel.xc.error class be
> publically exposed?
They are exceptions of the built-in type RuntimeError -- that's what you get
when you use PyErr_SetFromErrno in the C layer. I don't know why it shows up
as xc.error -- presumably that's a Python internal thing.
Ewan.
_______________________________________________
Xen-devel mailing list
Xen-devel@xxxxxxxxxxxxxxxxxxx
http://lists.xensource.com/xen-devel
|