Question:
Is it necessary to check return value after a “new” statement?Does it return null when it cannot allocate any more memory?
Answer:
You do not have to check the return value of the new operator.Unlike C, where malloc()
will return NULL if it fails, the Javanew operator will throw an OutOfMemoryError
. OutOfMemoryError
is aRuntimeException
so you are not forced to catch it.
However, ifyour program needs to be able to recover from running out of memory,you should place a try block at a strategic point where recovery canbe performed.