
Felipe Magno de Almeida wrote:
On Mon, Jun 15, 2009 at 2:50 PM, Sohail Somani<sohail@taggedtype.net> wrote:
Felipe Magno de Almeida wrote:
I've been working the past two years, on and off, unfortunately more often not, in a GUI library. But I have gotten back to it. And I wanted to make it usable. I believe there are some great things in it. This library has a named parameter interface which is extensible by the backend implementation. I've been working on a QT port, which have been fairly easy so far. My intention is to rework some parts of it, finish most widgets and the surface concept I've been working on and submit to review to boost. How do you handle exceptions in Qt?
I don't. Cppgui is exception neutral. Do you foresee a problem? I must be honest, I haven't considered this at all.
In general you can't throw exceptions from functions that Qt calls directly or indirectly (which is basically all your code.) You can get it 99.34% correct if you override QApplication::notify and catch them in there. I have not had a problem doing it this way, though that doesn't mean it is right. I think the latest versions of Qt can deal with exceptions in the sense that no resources are leaked. But you can't do stuff like throw in the middle of a paint operation unless you can restore the painter and undo the operations until then. I'm sure there is more stuff that won't work properly with exceptions. -- Sohail Somani http://uint32t.blogspot.com