Reputation: 24067
I have such codein my program:
catch (boost::exception& ex) {
// error handling
}
How can I print details? Error message, stacktrace etc.?
Upvotes: 9
Views: 12714
Reputation: 7202
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.
Upvotes: 7
Reputation: 8961
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);
}
Upvotes: 6