C++ Exception 库 - bad_array_new_length
描述
这是一个错误数组长度的异常,并且在以下任何一种情况下都会抛出这种类型的数组 −
- 如果数组大小小于零。
- 如果数组大小大于实现定义的限制。
- 如果初始化列表中的元素数量超过了要初始化的元素数量。
声明
以下是 std::bad_array_new_length 的声明。
class bad_array_new_length;
C++11
class bad_array_new_length;
参数
none
返回值
none
异常
No-throw guarantee − 没有成员抛出异常。
成员
constructor − what_arg 与成员 what 返回的值具有相同的内容。
what − 它用于获取字符串识别异常。
示例
在下面的 std::bad_array_new_length 示例中。
#include <iostream> #include <new> #include <climits> int main() { int negative = -1; int small = 1; int large = INT_MAX; try { new int[negative]; new int[small]{1,2,3,4}; new int[large][50000000]; } catch(const std::bad_array_new_length &e) { std::cout << e.what() << '\n'; } }
输出应该是这样的 −
std::bad_array_new_length