class
<new>

std::bad_alloc

class bad_alloc;
Exception thrown on failure allocating memory

Type of the exceptions thrown by the standard definitions of operator new and operator new[] when they fail to allocate the requested storage space.

This class is derived from exception. See the exception class for the member definitions of standard exceptions.

Its member what returns a null-terminated character sequence identifying the exception.

Example

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
// bad_alloc example
#include <iostream>     // std::cout
#include <new>          // std::bad_alloc

int main () {
  try
  {
    int* myarray= new int[10000];
  }
  catch (std::bad_alloc& ba)
  {
    std::cerr << "bad_alloc caught: " << ba.what() << '\n';
  }
  return 0;
}

Possible output:

bad_alloc caught: bad allocation


Exception safety

No-throw guarantee: no members throw exceptions.

See also