bad_alloc Class

The class describes an exception thrown to indicate that an allocation request did not succeed.

Syntax

class bad_alloc : public exception {
    bad_alloc();
virtual ~bad_alloc();

};

Remarks

The value returned by what is an implementation-defined C string. None of the member functions throw any exceptions.

Requirements

Header: <new>

Namespace: std

Example

// bad_alloc.cpp
// compile with: /EHsc
#include<new>
#include<iostream>
using namespace std;

int main() {
   char* ptr;
   try {
      ptr = new char[(~unsigned int((int)0)/2) - 1];
      delete[] ptr;
   }
   catch( bad_alloc &ba) {
      cout << ba.what( ) << endl;
   }
}

Sample Output

bad allocation

Requirements

Header: <new>

See Also

exception Class
Thread Safety in the C++ Standard Library