Biblioteca de excepciones de C ++ - bad_array_new_length

Descripción

Es una excepción en la longitud de matriz incorrecta y este tipo de matriz se lanza en cualquiera de los siguientes casos:

  • Si el tamaño de la matriz es menor que cero.
  • Si el tamaño de la matriz es mayor que un límite definido por la implementación.
  • Si el número de elementos en la lista del inicializador excede el número de elementos para inicializar.

Declaración

A continuación se muestra la declaración de std :: bad_array_new_length.

class bad_array_new_length;

C ++ 11

class bad_array_new_length;

Parámetros

ninguna

Valor devuelto

ninguna

Excepciones

No-throw guarantee - ningún miembro lanza excepciones.

Miembros

  • constructor - what_arg tiene el mismo contenido que el valor devuelto por el miembro what.

  • qué : se utiliza para obtener una excepción de identificación de cadenas.

Ejemplo

En el siguiente ejemplo para 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';
   }
}

La salida debería ser así:

std::bad_array_new_length
excepción.htm