我正在使用 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。