On Mon, Oct 18, 2021 at 6:01 AM rajesh daggumati via Boost < boost@lists.boost.org> wrote:
try { BOOST_THROW_EXCEPTION(std::invalid_argument("Blah")); } catch (...) { boost::exception_ptr exception = boost::current_exception(); try { boost::rethrow_exception(exception); } catch() //exception is from std::invalid_argument do i need to give boost::excepion &e or std::exception &e in catch block
My application code is having boost::exception and std::exception. I need a datatype to store both std::exception and boost::exception(other than boost::exception_ptr as everytime I need to rethrow and catch it and need to do everythng inside cathc block.. its not possible always)
If you can't handle the exception completely, you can rethrow the original exception like this: try { BOOST_THROW_EXCEPTION(std::invalid_argument("Blah")); } catch (...) { boost::exception_ptr exception = boost::current_exception(); try { boost::rethrow_exception(exception); } catch( std::exception & e ) { ... // partially handle std::exception throw; // rethrow original object } catch( boost::exception & e ) { ... // partially handle boost::exception throw; // rethrow original object } }