Libreria delle eccezioni C ++ - bad_array_new_length

Descrizione

È un'eccezione sulla lunghezza dell'array errata e questo tipo di array lanciato in uno dei seguenti casi:

  • Se la dimensione dell'array è inferiore a zero.
  • Se la dimensione dell'array è maggiore di un limite definito dall'implementazione.
  • Se il numero di elementi nell'elenco degli inizializzatori supera il numero di elementi da inizializzare.

Dichiarazione

Di seguito è riportata la dichiarazione per std :: bad_array_new_length.

class bad_array_new_length;

C ++ 11

class bad_array_new_length;

Parametri

nessuna

Valore di ritorno

nessuna

Eccezioni

No-throw guarantee - nessun membro genera eccezioni.

Membri

  • constructor - what_arg ha lo stesso contenuto del valore restituito dal membro what.

  • cosa - Viene utilizzato per ottenere l'eccezione di identificazione della stringa.

Esempio

Nell'esempio seguente per 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';
   }
}

L'output dovrebbe essere così -

std::bad_array_new_length