C++ 异常库 - bad_array_new_length


描述

这是一个错误数组长度的异常,并且在以下任何情况下抛出这种类型的数组 -

  • 如果数组大小小于零。
  • 如果数组大小大于实现定义的限制。
  • 如果初始化器列表中的元素数量超过要初始化的元素数量。

宣言

以下是 std::bad_array_new_length 的声明。

class bad_array_new_length;

C++11

class bad_array_new_length;

参数

没有任何

返回值

没有任何

例外情况

无抛出保证- 没有成员抛出异常。

会员

  • 构造函数- 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
异常.htm