boost :: exception - 如何打印细节?

时间:2013-11-29 10:02:29

标签: c++ boost

我的程序中有这样的代码:

catch (boost::exception& ex) {
    // error handling
}

如何打印详细信息?错误信息,堆栈跟踪等?

2 个答案:

答案 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开始。