boost :: filesystem :: Существуют сбои

Я использую Boost 1.52, когда я пытаюсь получить файл с сетевого диска, с которого у меня нет прав на чтение. Я получаю исключение после использования boost::filesystem::exists(fileName)

Есть ли работа вокруг приятнее, чем просто делать try, catch в каждом месте?

Я переключился на мой старый код сейчас:

bool FileExists(const char* fileName)
{
struct stat my_stat;
return (stat(fileName, &my_stat) == 0);
}

//boost Exists throws exception if there are no permissions for share folder
bool FileExists(const std::string& fileName)
{
return FileExists(fileName.c_str());
}

2

Решение

Использовать перегрузка это не бросает.

bool exists(const path& p, system::error_code& ec) noexcept;

Однако вы захотите проверить выходной параметр, так что это может быть больше работы, чем перехват исключения. Это зависит от того, что вы пытаетесь достичь.

3

Другие решения

Других решений пока нет …