[PyKDE] SIP Support for C++ Operators and Exceptions

Paul F. Kunz Paul_Kunz at SLAC.Stanford.EDU
Fri Jul 25 14:52:01 BST 2003


>>>>> On Fri, 25 Jul 2003 09:48:59 +0100, Phil Thompson <phil at riverbankcomputing.co.uk> said:

> On Friday 25 July 2003 12:01 am, Tuvi, Selim wrote:
>> Phil, we just tried your suggestion and added a wrapped exception
>> class and enabled the -e flag.
>> 
>> Although it does translate the C++ exception to Python properly, it
>> does it a little different than the regular Python exceptions
>> would. In Python, one would write:
>> 
>> try: raise RuntimeError, "Got an error" except RuntimeError,
>> detail: print detail
>> 
>> When run, this would print "Got an error".
>> 
>> But when the C++ exception is received by Python, "print detail"
>> returns the class instance of the wrapped exception object. Is
>> there a seamless way of having Python display the error message
>> rather than the class instance reference? If the person who wrote
>> the python code did not provide the try/except block then all
>> he/she would see is going to be the name of the class which is not
>> very informative.

> What if you implement __str__() for your exception class?

   I suppose you mean to implement this in the .sip file.   Can you
point to an example of doing this in the PyQt sources?





More information about the PyQt mailing list