Bibliothèque d'exceptions C ++ - bad_array_new_length

La description

C'est une exception en cas de mauvaise longueur de tableau et Ce type de tableau est lancé dans l'un des cas suivants -

  • Si la taille du tableau est inférieure à zéro.
  • Si la taille du tableau est supérieure à une limite définie par l'implémentation.
  • Si le nombre d'éléments dans la liste d'initialisation dépasse le nombre d'éléments à initialiser.

Déclaration

Voici la déclaration pour std :: bad_array_new_length.

class bad_array_new_length;

C ++ 11

class bad_array_new_length;

Paramètres

aucun

Valeur de retour

aucun

Des exceptions

No-throw guarantee - aucun membre ne lance d'exceptions.

Membres

  • constructor - what_arg a le même contenu que la valeur renvoyée par le membre what.

  • what - Il est utilisé pour obtenir une exception d'identification de chaîne.

Exemple

Dans l'exemple ci-dessous pour 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 sortie devrait être comme ça -

std::bad_array_new_length