boost::exception - how to print details?

You can use boost::diagnostic_information() to get the actual error messages and origin of the exception. i.e.

catch (const boost::exception& ex) {
    // error handling
    std::cerr << boost::diagnostic_information(ex);
}

For something as generic as a boost::exception, I think you are looking for the boost::diagnostic_information function to get a niceish string representation.

#include <boost/exception/diagnostic_information.hpp>

catch (const boost::exception& ex) {
    // error handling
    std::string info = boost::diagnostic_information(ex);
    log_exception(info); // some logging function you have
}

To get the stack for an exception, I'd start with the StackOverflow question C++ display stack trace on exception.

Tags:

C++

Boost