| delorie.com/archives/browse.cgi | search |
| From: | Carsten Rohde <crohde AT wtal DOT de> |
| Newsgroups: | comp.os.msdos.djgpp |
| Subject: | Re: Problem with "new" |
| Date: | Wed, 26 Aug 1998 21:56:02 +0200 |
| Organization: | Customer of SpaceNet GmbH |
| Lines: | 41 |
| Message-ID: | <35E46852.C03FE770@wtal.de> |
| References: | <35e404cf DOT 33475 AT news DOT space DOT net> |
| NNTP-Posting-Host: | line236.kdt.de |
| Mime-Version: | 1.0 |
| To: | djgpp AT delorie DOT com |
| DJ-Gateway: | from newsgroup comp.os.msdos.djgpp |
Hi!
I had the same problem and tried a solution
presented in my C++ book:
In C++ you should be able to catch an exception called
bad_alloc:
#include <iostream>
#include <new>
try
{
*int test = new int[1000];
}
catch(bad_alloc)
{
cerr << "your_errormessage" << endl;
exit(1);
}
If you want to check for the NULL pointer
the (nothrow) argument is required :
*int test = new(nothrow) int[1000];
// ...
That's what my book sais :-)
But this is not what I experienced with my v. 2.7.2.1.
"bad_alloc" and "nothrow" seem to be unknown.
What I(we) probably need is a possibility
to either make the compiler behave like an old one
( return a NULL pointer ) or enable it to catch the "bad_alloc".
Has anyone got similar problems or ( even better ) a solution ?
tia
Carsten
| webmaster | delorie software privacy |
| Copyright © 2019 by DJ Delorie | Updated Jul 2019 |