bad_alloc in C++
Prerequisite : Exceptions in C++
Standard C++ contains several built-in exception classes. The most commonly used is bad_alloc, which is thrown if an error occurs when attempting to allocate memory with new.
This class is derived from exception.
To make use of bad_alloc, one should set up the appropriate try and catch blocks. Here’s a short example, that shows how it’s used :
C++
// CPP code for bad_alloc #include <iostream> #include <new> // Driver code int main () { try { int * gfg_array = new int [100000000]; } catch (std::bad_alloc & ba) { std::cerr << "bad_alloc caught: " << ba.what(); } return 0; } |
RunTime error :
bad_alloc caught: std::bad_alloc