我目前正在从 boost::filesystem::is_directory 捕获错误,并通过在异常上调用“what()”向用户显示错误。这给出了失败的原因,但该错误对用户来说很奇怪。例如:
boost::filesystem::is_directory:访问被拒绝
如何捕获升压错误并找出实际原因,以便显示更好的错误消息?
“更好的错误消息”你的意思是这样的
#include <iostream>
#include <boost/filesystem.hpp>
int main()
{
boost::filesystem::path p("/proc/1/fd/1");
try {
boost::filesystem::is_directory(p);
} catch(const boost::filesystem::filesystem_error& e)
{
if(e.code() == boost::system::errc::permission_denied)
std::cout << "Search permission is denied for one of the directories "
<< "in the path prefix of " << p << "\n";
else
std::cout << "is_directory(" << p << ") failed with "
<< e.code().message() << '\n';
}
}
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)