Phil Thompson schrieb:

PyQt or any other extension wrapped with SIP could install an optional
exception handler hook, that is called by SIP, indicating how to handle
the exception (propagate to caller or use PyErr_Print()).



It's PyErr_Print() that calls the hook, not the other way around. That
hook would have to be installed *after* any application installed hook.
Very messy.


Sorry, I wasn't clear enough. I do not mean 'sys.excepthook' or any replacement. I mean a function implemented in PyQt called by SIP.

SIP calls a method
SIP checks if an exception has occured
SIP checks, if the wrapped extension has installed a hook function (The module that provides exec_loop would do this)
If not, SIP calls PyErr_Print() ==> End
Otherwise SIP calls the hook funtion
SIP either propagates the exception or calls PyErr_Print() depending on the return value of the hook function ==> End


The hook function has to check, if one of the calling frames of the traceback frame contains the method exec_loop.
Maybe I'm totally wrong with my idea.


Ulli



_______________________________________________
PyKDE mailing list    PyKDE@mats.imk.fraunhofer.de
http://mats.imk.fraunhofer.de/mailman/listinfo/pykde

Reply via email to