Хидер <boost/throw_exception.hpp> содержит определение вспомогательной функции boost::throw_exception. Она предназначена для использования в библиотеках BOOST C++, которые могут генерировать исключения, но содержат поддержку для платформ, на которых исключения невозможны, что определяется конфигурационным макросом BOOST_NO_EXCEPTIONS.
Когда макрос BOOST_NO_EXCEPTIONS не определен, boost::throw_exception(e) эквивалентно выражению throw e. В противном случае, функция остается неопределенной, и пользователь должен создать соответствующую реализацию. При вызове throw_exception допускается сделать предположение, что эта функция не возвращается. Следовательно, если определенная пользователем функция throw_exception возвращается, то поведение неопределено.
namespace boost
{
#ifdef BOOST_NO_EXCEPTIONS
void throw_exception(std::exception const & e); // user defined
#else
template<class E> void throw_exception(E const & e)
{
throw e;
}
#endif
}
Copyright © 2002 by Peter Dimov. Permission to copy, use,
modify, sell and distribute this document is granted provided this
copyright notice appears in all copies. This document is provided "as
is" without express or implied warranty, and with no claim as to its
suitability for any purpose.
последняя правка: 14.05.2005
библиотека BOOST C++
http://www.boost.org
перевод
Elijah Koziev
www.solarix.ru