> 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

Reply via email to