Biblioteca de exceções C ++ - bad_array_new_length

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

  • constructor - what_arg tem o mesmo conteúdo que o valor retornado por membro what.

  • what - É usado para obter exceção de identificação de string.

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