
John Maddock wrote:
boost/throw_exception.hpp includes <exception> when the macro BOOST_NO_EXCEPTIONS is defined. Isn't it likely that an exception-disabled platform won't provide <exception> either? Is there any rationale/compiler survey for this?
The trouble is what else can it do?
Any Boost code that calls this function will be passing as an argument an exception object derived from std::exception,
I'm not sure that's true. In the serialization library - all exceptions are derived from archive_exception. archive_exception is derived from std::exception - but this derivation could be conditional on the definition of BOOST_NO_EXCEPTIONS.
the idea is that if exceptions are disabled then the user supplied version of this function will just print the exception's message, and abort. It certainly works OK on MSVC and on with gcc, but I have no knowledge of embedded platforms without any exception handling at all and what they might do.
Robert Ramey