Библиотека «хорошего буста» должна выдавать, используя boost::throw_exception
, для поддержки конфигураций, где обработка исключений отключена.
Функция boost::throw_exception
требует, чтобы тип переданного исключения был публично получен из std::exception
(начиная с версии 1.37.0 или около того boost::throw_exception
выдаст ошибку компиляции, если это требование не выполнено.) по умолчанию исключения, генерируемые с помощью boost::throw_exception
, происходят от boost::exception
.
Однако не требуется, чтобы библиотеки Boost генерировали исключения через boost:throw_exception
или производные от std::exception
.