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
exception.htm
广告

© . All rights reserved.