Hi,

We are developing a C++ library that uses a single exception class
(Exception) for throwing errors.

When wrapping the library with sip, we use the -e command line to
activate the try/catch code on each C++ call.

However, our C++ code does not include the "throw(Exception)" modifier
on each class method, because virtually any method can throw this
exception, and it would be quite heavy to add it on every declaration.

In this scenario, sip (v4.7.9) just include a default try {} catch (...)
{ sipRaiseUnknownException }, so Python reports "Exception: Unknown".

Is there a way to specify a default exception handler to sip, so the
generated code in this case would like something like:

  try {
      // C++ call
  } catch (OurDefaultException& e) {
      ...
      sipRaiseClassException(sipclass_OurDefaultException ... );
  } catch (...) {
      sipRaiseUnknownException();
  }

Thanks you very much in advance.

SEB

<<attachment: sebastien_petitdemange.vcf>>

_______________________________________________
PyQt mailing list    PyQt@riverbankcomputing.com
http://www.riverbankcomputing.com/mailman/listinfo/pyqt

Reply via email to