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