On Fri, Feb 19, 2016 at 8:14 AM, <Tamas.Ruszkai@leica-geosystems.com> wrote:

I use boost coroutines and I have realized that in my environment (Visual Studio 2015 Update 1, x64)  I cannot catch the exception type of a custom exception.

The example below demonstrates the case. I have a custom exception derived from a std::runime_error. In the main function I want to catch my custom exception type that was thrown in the coroutine.
However somehow I always end up in the catch branch of the std::runtime_error.

Are custom exceptions are not supported by the coroutines library?

boost::exception_ptr requires that the exception is thrown using enable_current_exception, see www.boost.org/doc/libs/release/libs/exception/doc/enable_current_exception.html. I recommend to throw the exception using BOOST_THROW_EXCEPTION, which internally uses enable_current_exception.