"Christopher Wright" <[EMAIL PROTECTED]> wrote in message news:[EMAIL PROTECTED]
And what are you going to throw an exception from, besides a function? I think you are talking about situations like this:class A { private File file; this () { file = new File ("somePath"); } // some operations with side effects that maybe close the file } void foo () { auto a = new A; // I want to make sure A's file is cleaned up...how? }
Yes. Thanks for the example. I do that sort of thing a lot, and it applies to anything with a handle such as mutexes, files, etc. In garbage-collected languages, what am I supposed to do there? It would seem that garbage collection and exceptions don't play nice together. Or am I missing something simple?
Could a garbage-collected language ever figure out how to handle this? When class A goes out of scope, how would it know that the file object is not being referenced elsewhere? I wonder if there's a way that reference counting could be used in these cases.
Jim
