std::bad_array_new_length
![]() |
This page has been machine-translated from the English version of the wiki using Google Translate.
The translation may contain errors and awkward wording. Hover over text to see the original version. You can help to fix errors and improve the translation. For instructions click here. |
definiert in Header <new>
|
||
class bad_array_new_length; |
(seit C++11) | |
std::bad_array_new_length
is the type of the object thrown as exceptions by the new-Ausdrücken to report invalid array lengths if
1) array length is negative
2) total size of the new array would exceed implementation-defined maximum value
3) the number of initializer-clauses exceeds the number of elements to initialize
Only the first array dimension may generate this exception; dimensions other than the first are constant expressions and are checked at compile time.
Inhaltsverzeichnis |
[Bearbeiten] Member-Funktionen
baut die bad_array_new_length ObjektOriginal: constructs the bad_array_new_length objectThe text has been machine-translated via Google Translate. You can help to correct and verify the translation. Click here for instructions. (öffentliche Elementfunktion) |
Inherited from std::bad_alloc
Inherited from std::exception
Member functions
[virtuell] |
Zerstört das Ausnahme-Objekt Original: destructs the exception object The text has been machine-translated via Google Translate. You can help to correct and verify the translation. Click here for instructions. (virtuellen öffentlichen Member-Funktion of std::exception )
|
[virtuell] |
gibt einen erläuternden String Original: returns an explanatory string The text has been machine-translated via Google Translate. You can help to correct and verify the translation. Click here for instructions. (virtuellen öffentlichen Member-Funktion of std::exception )
|
[Bearbeiten] Notes
The override for the virtual member function what()
may by provided, but is not required.
[Bearbeiten] Beispiel
Three conditions where std::bad_array_new_length should be thrown:
#include <iostream> #include <new> #include <climits> int main() { int negative = -1; int small = 1; int large = INT_MAX; try { new int[negative]; // negative size new int[small]{1,2,3}; // too many initializers new int[large][1000000]; // too large } catch(const std::bad_array_new_length &e) { std::cout << e.what() << '\n'; } }
[Bearbeiten] Siehe auch
Speicheranforderungsfunktion (Funktion) | |
Ausnahme bei Fehlschlag der Speicherzuweisung (Klasse) |