Re:Memory management in C programs (2014)
by robotresearcher on Tuesday July 19, 2016 @01:45PM
(#12123359)
Can you explain why this is false? If I run out of stack or heap by exceeding the process limit, the constructor must fail. Is this incorrect?
I see your comment above that stack overflows essentially never happen, but having watched it happen, I disagree.
This is not an error that you can reasonably recover from. If you are out of stack, even constructing an exception to throw is likely to fail.
Because the only correct behavior here is to terminate the program immediately, it doesn't matter in the discussion of whether to use exceptions or not.
> Constructors are resource allocation, so they can always fail.
Which is false.