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
廣告