HDF5:获取H5 :: Exception错误详细信息作为字符串

时间:2018-08-06 20:18:08

标签: c++ error-handling exception-handling io hdf5

我有一个gui控制程序,可将数据写入hdf5文件。这是一个gui程序,所以我没有使用std :: cerr或标准流,这似乎是HDF5假定的。我可以使用getDetailMsg(),但是尽管有这个名称,但它却给了我一个非常模糊的错误消息。我想获取printErrorStack ( FILE* )提供的信息,但是由于它需要输入FILE*,因此实时检索并向gui用户报告确实很尴尬。我可以这样记录错误信息:

catch ( H5::Exception& err )
{
    FILE * pFile;
    fopen_s( &pFile, "H5ErrLog.txt", "a" );
    if ( pFile != NULL )
    {
        err.printErrorStack ( pFile );
        fclose ( pFile );
    }
}

然后我想我可以重新打开文件并将其读取为字符串,但这似乎是一个笨拙的解决方案。有更好的方法吗?

0 个答案:

没有答案