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