Nouvelle bibliothèque C ++ - bad_alloc

La description

Cette exception est levée en cas d'échec d'allocation de mémoire et de type d'exceptions levées par les définitions standard d'opérateur new et d'opérateur new [] lorsqu'elles ne parviennent pas à allouer l'espace de stockage demandé.

Voici la déclaration pour std :: bad_alloc.

class bad_alloc;

Paramètres

aucun

Valeur de retour

aucun

Des exceptions

No-throw guarantee - cette fonction membre ne lève jamais d'exceptions.

Courses de données

aucun

Exemple

Dans l'exemple ci-dessous pour std :: bad_alloc.

#include <iostream>
#include <new>
 
int main() {
   try {
      while (true) {
         new int[100000000ul];
      }
   } catch (const std::bad_alloc& e) {
      std::cout << "Allocation failed: " << e.what() << '\n';
   }
}

La sortie devrait être comme ça -

It will throw an exception error