Descrição
É uma exceção para comprimento de array inválido e este tipo de array lançado em qualquer um dos seguintes casos -
- Se o tamanho da matriz for menor que zero.
- Se o tamanho da matriz for maior que um limite definido pela implementação.
- Se o número de elementos na lista de inicializadores exceder o número de elementos a serem inicializados.
Declaração
A seguir está a declaração para std :: bad_array_new_length.
class bad_array_new_length;
C ++ 11
class bad_array_new_length;
Parâmetros
Nenhum
Valor de retorno
Nenhum
Exceções
No-throw guarantee - nenhum membro lança exceções.
Membros
Exemplo
No exemplo abaixo 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';
}
}
A saída deve ser assim -
std::bad_array_new_length