[PyQt] Problem catching exception from SIP-wrapped function

Phil Thompson phil at riverbankcomputing.com
Tue Sep 22 17:28:04 BST 2009


On Mon, 21 Sep 2009 18:40:35 +0200, Arve Knudsen <arve.knudsen at gmail.com>
wrote:
> Hi
> 
> I have run into this problem where a C++ exception is not correctly
> translated into Python on Linux (it works under VC++ on Windows). The
> exception is apparently not caught as it should, but looking at the
> SIP-generated sourcecode I cannot see why (there is a try/catch block for
> the exception). Any ideas as to what might be going wrong here? I have
> tried
> std::exception instead of my custom exception, and this gets translated
> correctly to Python.
> 
> Attached I have a simple library 'raiser', which is wrapped by the Python
> module 'raiser'. In order to build it, first build a shared library from
> 'raiser.cpp', then run 'configure.py' and make.

Works fine for me on Linux with the current SIP snapshot. I did change your
code first to make everything in-line so it wasn't necessary to build a
separate library.

Phil


More information about the PyQt mailing list