我的程序中有这样的代码:
catch (boost::exception& ex) {
// error handling
}
如何打印详细信息?错误信息,堆栈跟踪等?
答案 0 :(得分:6)
您可以使用boost::diagnostic_information()来获取实际的错误消息和异常的来源。 即。
catch (const boost::exception& ex) {
// error handling
std::cerr << boost::diagnostic_information(ex);
}
答案 1 :(得分:3)
对于像boost::exception
那样通用的东西,我认为你正在寻找boost::diagnostic_information
函数来获得一个漂亮的字符串表示。
要获取异常的堆栈,我将从StackOverflow问题C++ display stack trace on exception开始。