[PyQt] SIP: passing exceptions Python -> C++

Jim Crowell jaclists at mailbolt.com
Tue Apr 29 16:43:36 BST 2008


> From: Phil Thompson <phil at riverbankcomputing.com>
> Subject: Re: [PyQt] SIP: passing exceptions Python -> C++
>
> > I've got a C++ class with a whole bunch of virtual methods that are
> > overridden in Python subclasses.
> >
> > These methods are callbacks, i.e. they're called repeatedly from a C++
> > event loop.
> >
> > I want to catch any Python exceptions raised in any of these callbacks,
> > print the error messages, and then raise a C++ exception that will cause
> > the event loop to exit.
> >
> > Is there an elegant way to do this without essentially re-implementing
> > all of the nice stuff that handles calling virtual methods? It looks
> > like all of the existing exception-mapping stuff is for going the other
> > direction, i.e. from C++ -> Python.
> 
> I'm afraid so. One for the TODO list.
> 
> Phil

OK, thanks. Turned out there was a method that accomplished the same
thing as throwing the C++ exception, so I was able to get it done with a
Python wrapper class.

-Jim C.


More information about the PyQt mailing list