> Consider this line: > > Foo *foo = new Foo(); > > Assuming 'new' succeeds and allocates memory on the heap: if the > constructor throws, the pointer 'foo' never gets initialised.
> How do you cleanly 'get out' of that one? I.e. how do you delete > the allocated memory without knowing where it is? If someone has a > solution for this, I'll happily change my position! Smart Pointer, RAII..... Not a problem at all. > Going back to Den's original post, that means he'd need to add an > init method to ImageModel, and make sure it gets called when he > wants to use the object. Sorry, I did a boo boo and 'answered' the an exiting thread. init method isn't a very good solution. The ImageModel is a C++ class, which is used as plugin for QML. When I call init from QML, which would be possible, I still would not be able to catch exception. Currently I am investigating methods to determine and to act on QML plugins when their construction fails. Guido _______________________________________________ Interest mailing list Interest@qt-project.org http://lists.qt-project.org/mailman/listinfo/interest