Boost logo

Boost :

From: larsbj_at_[hidden]
Date: 2001-10-16 03:36:34


Thomas Matelich <toms-mailing-lists_at_[hidden]> writes:

| > #if defined(__GNUC__) && (__GNUC__ < 3) && (__GNUC_MINOR__ < 95) && !defined(__STL_USE_NEW_IOSTREAMS) || defined(__APPLE_CC__)
| > // Note that we only set this for gnu C++ prior to 2.95 since the
| > // latest patches for that release do contain a minimal <sstream>
| > // If you are running a 2.95 release prior to 2.95.3 then this will need
| > // setting, but there is no way to detect that automatically (other
| > // than by running the configure script).
| > # define BOOST_NO_STRINGSTREAM
| > #endif
| >
| > So it seems that even if 2.95.3 and 2.96.x do provide stringstream it
| > should be disabled for boost. (perhaps others have other datapoints)
|
| I don't know your code, but I know that I use lexical_cast a lot, and around me people use RedHat's and Mandrake's unofficial
| g++'s. I tend to go by the Pragmatic Programmer rule: "select Isn't Broken" and check my code first. My first guess is always
| that check for eof() because too often I send text with 2 "words" in to be cast as, say, an int. This causes an exception.

This might be the cause for the excepiton that I see, _but_ the
exception is not possible to catch since it seems that a second
exception is thrown during stack unwinding or something.

try {
        lexica_cast<...>(...);
}
catch (...) {
        cout << "exception never caught" << endl;
}

when using strstream I do not have this problem.
 

-- 
	Lgb

Boost list run by bdawes at acm.org, gregod at cs.rpi.edu, cpdaniel at pacbell.net, john at johnmaddock.co.uk