我正在使用 Boostexception_ptr并观察到这rethrow_exception(ptr)并没有给我原来的例外。我把它煮成这样:
struct error : virtual std::exception, virtual boost::exception {};
try {
boost::exception_ptr ptr(boost::copy_exception(error()));
boost::rethrow_exception(ptr);
}
catch(boost::exception& e) {
// e is a boost::exception_detail::clone_impl<error>
}
不e应该是 typeerror而不是 type clone_impl?
我正在使用 Boost 1.49.0。