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