std::bad_alloc (3) Linux Manual Page
std::bad_alloc – std::bad_alloc
Synopsis
Defined in header <new>
class bad_alloc;
std::bad_alloc is the type of the object thrown as exceptions by the allocation_functions to report failure to allocate storage.
std-bad alloc-inheritance.svg
Inheritance diagram
Member functions
constructor (public member function)
operator= (public member function)
what (public member function)
std::bad_alloc::bad_alloc
bad_alloc();
Constructs new bad_alloc object with an implementation-defined null-terminated byte string which is accessible through what().
Parameters
(none)
Exceptions
(none) (until C++11)
noexcept specification: (since C++11)
noexcept
std::bad_alloc::operator=
bad_alloc& operator=( const bad_alloc& other );
Assigns the contents of other.
Parameters
other – another exception object to assign
Return value
*this
Exceptions
(none) (until C++11)
noexcept specification: (since C++11)
noexcept
std::bad_alloc::what
virtual const char* what() const;
Returns the explanatory string.
Parameters
(none)
Return value
Pointer to a null-terminated string with explanatory information.
Exceptions
(none) (until C++11)
noexcept specification: (since C++11)
noexcept
Inherited from std::exception
Member functions
destructor destroys the exception object
[virtual]
what returns an explanatory string
[virtual]
Example
// Run this code
#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';
}
}
Possible output:
See also
operator_new (function)
operator_new[]
