www.digitalmars.com         C & C++   DMDScript  

digitalmars.D.learn - What happens if memory allocation fails?

reply tcak <1ltkrs+3wyh1ow7kzn1k sharklasers.com> writes:
This is not easy to try. So I need ask, maybe someone has 
experienced.

What happens if memory allocation fails with "new" keyword? Does 
it
throw an exception? throwable?

All I want is to be able to catch OutOfMemory event, and take 
other
steps based on that.
Feb 20 2016
next sibling parent Kagamin <spam here.lot> writes:
Currently it crashes: 
https://issues.dlang.org/show_bug.cgi?id=1180
Feb 20 2016
prev sibling parent reply Adam D. Ruppe <destructionator gmail.com> writes:
On Saturday, 20 February 2016 at 14:21:28 UTC, tcak wrote:
 What happens if memory allocation fails with "new" keyword?
Be aware that memory allocation might never actually fail. It really depends on the operating system. But if it did fail, it would throw OutOfMemoryError http://dpldocs.info/experimental-docs/core.exception.OutOfMemoryError.html
Feb 20 2016
parent Chris Wright <dhasenan gmail.com> writes:
On Sat, 20 Feb 2016 16:58:02 +0000, Adam D. Ruppe wrote:

 On Saturday, 20 February 2016 at 14:21:28 UTC, tcak wrote:
 What happens if memory allocation fails with "new" keyword?
Be aware that memory allocation might never actually fail. It really depends on the operating system. But if it did fail, it would throw OutOfMemoryError http://dpldocs.info/experimental-docs/
core.exception.OutOfMemoryError.html That should work for address space exhaustion on most any OS and configuration. Physical memory plus swap exhaustion, not so much, thanks to memory overcommitment.
Feb 20 2016