[Date Prev][Date Next] [Thread Prev][Thread Next]
[Thread Index]
[Date Index]
[Author Index]
Re: [xml] using "raise" in Python error handler callbacks
- From: Daniel Veillard <veillard redhat com>
- To: Stefan Seefeld <seefeld sympatico ca>
- Cc: xml gnome org
- Subject: Re: [xml] using "raise" in Python error handler callbacks
- Date: Fri, 1 Apr 2005 02:36:39 -0500
On Thu, Mar 31, 2005 at 07:57:04PM -0500, Stefan Seefeld wrote:
> Daniel Veillard wrote:
> >On Thu, Mar 31, 2005 at 10:25:41PM +0100, Andrew McDermott wrote:
> >
> >>Whilst experimenting with the Python bindings I noticed that exceptions
> >>are not propagated when using registerErrorHandler(). If I run the
> >>following I get the error message:
> >>
> >> /etc/passwd : failed to parse.
> >>
> >>However, there is no Traceback for the "raise". Is this correct?
> >>
> >>import libxml2
> >>import sys
> >
> >
> > You have
> > Python calling C calling Python.
> >the internal exception in the callback does not cross the C boundary
> >I don't see how this could work without disastrous side effects like
> >memory leaks or general instability in the program.
>
> I don't think this is quite accurate. Think about python as a high-level
> API to a C runtime. If the outer and the inner python runtimes are
> the same, there is certainly a way to pass the necessary information through
> (i.e. ultimately just preserve the exception state from the callback).
If you know how to do it, I take patches. I don't know how to do it in
the general case, i.e. without changing all C APIs to have an extra argument
to carry those informations. And changing the public C APIs is not possible.
Again I take patches !
Daniel
--
Daniel Veillard | Red Hat Desktop team http://redhat.com/
veillard redhat com | libxml GNOME XML XSLT toolkit http://xmlsoft.org/
http://veillard.com/ | Rpmfind RPM search engine http://rpmfind.net/
[Date Prev][Date Next] [Thread Prev][Thread Next]
[Thread Index]
[Date Index]
[Author Index]