9.3.4  处理堆耗尽

9.3.4 处理堆耗尽

使用new运算符时,要充分考虑对存储器的耗尽问题。在进行程序开发时,通常假设堆不会耗尽。如果程序对堆的要求非常大,将可能出现堆耗尽。当系统提供的存储器不能满足需要时,C++的new运算符会抛出运行异常。一旦程序未能捕获异常,系统便会异常中止程序。多数情况下,用户可能并不知道中止的原因。另外,若“堆耗尽”是由程序的错误导致的,而程序员又没有事先采取措施来阻止程序异常中止,则将无法知道程序中止的详细情况。大多数程序都未就此问题采取措施。

在实际应用中,程序员可将try块和catch块放在main()函数中,这样至少可以实现截获异常。