📅  最后修改于: 2023-12-03 14:59:50.635000             🧑  作者: Mango
在C++中,当尝试创建数组时,如果指定的数组长度为负数或异常,则可能会抛出std::bad_array_new_length
类的异常。
要使用std::bad_array_new_length
,我们需要在程序中包含头文件<new>
。
#include <iostream>
#include <new>
int main()
{
try {
int size = -5;
int* arr = new int[size]; // 尝试创建长度为-5的数组,会抛出异常
delete[] arr;
}
catch(const std::bad_array_new_length& e) {
std::cerr << "Exception caught: " << e.what() << std::endl;
}
return 0;
}
在上面的示例中,我们尝试创建大小为-5的数组,这是一种异常情况。 我们使用try...catch
块来捕获std::bad_array_new_length
异常,并打印异常信息。
std::bad_array_new_length
是继承自std::bad_alloc
的。 std::bad_alloc
是在尝试分配内存时抛出的标准异常。 因此,std::bad_array_new_length
类也继承了所有从std::bad_alloc
继承下来的成员函数和属性。
std::bad_array_new_length
类代表数组长度异常,用于在C++中处理数组操作期间发生的异常情况。 我们可以使用try...catch
块来捕获该异常,并在出现异常时执行适当的操作。