Boost Exception

copy_exception

#include <boost/exception_ptr.hpp>

namespace
boost
    {
    template <class T>
    exception_ptr copy_exception( T const & e );
    }

Effects:

As if

try
    {
    throw enable_current_exception(e);
    }
catch(...)
    {
    return current_exception();
    }