Descrição
Esta exceção lançada na falha de alocação de memória e tipo de exceções lançada pelas definições padrão de operador novo e operador novo [] quando eles falham em alocar o espaço de armazenamento solicitado.
A seguir está a declaração para std :: bad_alloc.
class bad_alloc;
Parâmetros
Nenhum
Valor de retorno
Nenhum
Exceções
No-throw guarantee - esta função de membro nunca lança exceções.
Corridas de dados
Nenhum
Exemplo
No exemplo abaixo 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';
}
}
A saída deve ser assim -
It will throw an exception error