Configuration Macros
Более высокая исключение отвечает на следующие макросы конфигурации:
BOOST_NO_RTTI
BOOST_NO_TYPEID
Первый макрос предотвращает использование динамического_каста и динамического типа. Если также определен второй макрос, то исключение скорости не использует статический типид. На функциональность библиотеки нет наблюдаемых унижающих последствий, за исключением следующих:
По умолчанию шаблон функции get_error_info можно назвать с любым типом исключения. Если BOOST_NO_RTTI определяется, get_error_info может использоваться только с объектами повышения типа::исключение.
Note:
Библиотека нуждается в функциональности RTTI. Отключение языка поддержки RTTI позволяет внутреннюю систему RTTI, которая может иметь более или менее накладные расходы в зависимости от платформы.
BOOST_EXCEPTION_DISABLE
По умолчанию enable_current_ exception и enable_error_info интегрированы непосредственно в функцию throw_ exception. Определение BOOST_EXCEPTION_DISABLE отменяет эту интеграцию.
Обратите внимание, что на некоторых несоответствующих компиляторах, например, MSVC 7.0 и старше, а также BCC, BOOST_EXCEPTION_DISABLE косвенно определяется в boost/throw_ exceptionion.hpp.
BOOST_NO_EXCEPTIONS
Этот макро отключает обработку исключений в Boost, пересылая все исключения из пользовательской не шаблонной версии импульса::throw_исключения. Однако, если также не определено BOOST_EXCEPTION_DISABLE, пользователи все еще могут исследовать объект исключения для любых данных, добавленных в точке броска, или использовать импульс::диагностика_информации (конечно, в соответствии с BOOST_NO_EXCEPTIONS, заданный пользователем импульс::throw_исключение не может вернуться к звонителю.)
BOOST_THROW_EXCEPTION_CURRENT_FUNCTION
BOOST_THROW_EXCEPTION макропользования BOOST_THROW_EXCEPTION_CURRENT_FUNCTION записать имя текущей функции в объекте исключения. За исключением случаев, когда BOOST_THROW_EXCEPTION_CURRENT_FUNCTION расширяется до BOOST_CURRENT_FUNCTION.