When memory is allocated using the no throw version of new, the value returned can be tested to check whether the operation failed by checking if the null address 0 was returned. For the non-no throw version of new, a bad allow exception is thrown if the operation fails and execution will terminate automatically unless the try-catch mechanism is used to catch and handle the exception.