首页
学习
活动
专区
圈层
工具
发布
首页
学习
活动
专区
圈层
工具
MCP广场
社区首页 >问答首页 >从boost::filesystem::is_directory捕获异常

从boost::filesystem::is_directory捕获异常
EN

Stack Overflow用户
提问于 2011-07-14 17:13:49
回答 1查看 15.8K关注 0票数 9

目前,我正在捕捉来自boost::filesystem::is_directory的错误,并通过在异常上调用"what()“将错误显示给用户。这给出了失败的原因,但是这个错误对用户来说是很奇怪的。例如:

boost::filesystem::is_directory:访问被拒绝

如何捕捉boost错误并找出实际原因,以便显示更好的错误信息?

EN

回答 1

Stack Overflow用户

回答已采纳

发布于 2011-07-14 17:49:51

你所说的“更好的错误信息”是指

代码语言:javascript
运行
复制
#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';
    }
}
票数 23
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/6697286

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档