[PyQt] Exceptions in Python Implementations of Virtuals
Phil Thompson
phil at riverbankcomputing.com
Tue Sep 30 17:23:08 BST 2014
Florian asked this question but it didn't result in any discussion, so
I'd like to have another poke at it.
Currently, if an exception is raised by a Python re-implementation of a
C++ virtual then the exception is printed and the application continues.
A default result will be constructed by PyQt and returned to C++.
Instead, should PyQt print the exception and then terminate (by calling
qFatal())?
Some advantages...
- consistency in what happens when an unhandled exception is raised (ie.
the application always terminates)
- such bugs become obvious and easy to find
Some disadvantages...
- incompatible with current behaviour
- may cause problems with applications that already try to handle such
exceptions using exception hooks
If I make this change it will be for PyQt5 only. I don't plan to make
the change configurable in any way.
Comments?
Phil
More information about the PyQt
mailing list