[Vala] Constructor error in object creation and deterministic destruction
- From: Al Thomas <astavale yahoo co uk>
- To: vala-list <vala-list gnome org>
- Subject: [Vala] Constructor error in object creation and deterministic destruction
- Date: Tue, 17 Mar 2015 20:52:08 +0000 (UTC)
Hello,
I wanted to check that the destructor is always called, even when an exception is thrown during the
construction of the object.
I've coded this up in Genie and when the object can't be created, because the resource (an empty file in this
case) isn't available, an exception is thrown. I'm assuming Vala has already created the object reference
count, so when it goes out of scope of the 'try' block the destructor is always called, even if the object
has not been fully initialised by the constructor. The Vala tutorial states the Vala's "memory management is
based on reference counting instead of tracing garbage collection, destructors are deterministic and can be
used to implement the RAII pattern for resource management".
I know anything that calls the C exit() function, such as Process.exit(0), will break the program immediately
and so stop the destructor being called. I wondered if there were any other circumstances when the destructor
wouldn't be called so I can be sure I need to code the freeing of the resources only in the destructor.
Thanks,
Al
[
Date Prev][
Date Next] [
Thread Prev][
Thread Next]
[
Thread Index]
[
Date Index]
[
Author Index]