Здравствуйте, AlexGin, Вы писали:
AG>Я и моя команда разрабатываем библиотеку классов, которая выполняет обработку данных.
AG>Эта обработка — многопоточная.
AG>OS — Windows 7 / 64 + SP1.
AG>Заказчик настаивает, на варианте, когда в случае ошибки ему будут поступать exception-s.
Какого типа обработка? Параллельная или конкурентная?
Главный поток ждёт результата или продолжает работать переодически проверяя сообщения? Какое вообще взаимодействие с их кодом?
Как уже выше сказали, нужно перехватывать исключения и передавать в другой поток через exception_ptr.
Если подходят promise + future — то там вся передача уже реализована, смотри std/boost::promise::set_exception.
AG>ПРИМЕЧАНИЕ:
AG>Мы все пишем на MSVC-2015, однако Заказчик настаивает только на применении стандарта C++03
AG>В то же время, мы широко используем boost и STL.
AG>С этими библиотеками Заказчик хорошо знаком.
В Boost для C++03 есть и exception_ptr, и promise+future.