std::bad_alloc
Hiya,
Does anyone know how to throw so that a std::bad_alloc exception is generated?
throw std::bad_alloc; does not seem to work.
I just need to test it's exception handler.
Thanks for any help :)
if you really need to just do a test, call something like
char *x = new char[unsigned long(-1)];
char *x = new char[unsigned long(-1)];
The following works fine here:
#include <new>#include <iostream>int main(){ try { throw std::bad_alloc(); } catch (std::bad_alloc&) { std::cout << "bad_alloc caught\n"; }}
Quote:Original post by KulSeran
if you really need to just do a test, call something like
char *x = new char[unsigned long(-1)];
What makes you think that'll work? It may work in many cases, but I don't see why it have to throw a std::bad_alloc. Also if you have used set_new_handler it could result in your new_handler being called.
As long as you have included the "new" header you should be able to throw std::bad_alloc normally.
This topic is closed to new replies.
Advertisement
Popular Topics
Advertisement