Nueva biblioteca de C ++ - bad_alloc

Descripción

Esta excepción se lanza cuando falla la asignación de memoria y el tipo de las excepciones lanzadas por las definiciones estándar de operador nuevo y operador nuevo [] cuando fallan al asignar el espacio de almacenamiento solicitado.

A continuación se muestra la declaración de std :: bad_alloc.

class bad_alloc;

Parámetros

ninguna

Valor devuelto

ninguna

Excepciones

No-throw guarantee - esta función miembro nunca arroja excepciones.

Carreras de datos

ninguna

Ejemplo

En el siguiente ejemplo para 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 salida debería ser así:

It will throw an exception error