void newHandler() {
cdebug << "memory allocation failure" << std::endl;
throw std::bad_alloc();
}
int main() {
std::set_new_handler(newHandler);
// ...
}
一旦 newHandler 被建立为我们的错误处理程序,它将在任何堆分配失败时调用。错误处理程序的有趣之处在于它会被连续调用,直到内存分配成功,或者函数抛出错误。
我对上述文本的问题是,“直到内存分配成功,或者函数抛出错误”是什么意思。在这种情况下,函数如何抛出错误?要求举例说明。
感谢您的时间和帮助。