3

読み取り権限のないネットワーク ドライブからファイルを取得しようとしているときに、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());
}
4

1 に答える 1

4

スローしないオーバーロードを使用します。

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

ただし、出力パラメーターを確認する必要があるため、これは例外をキャッチするよりも手間がかかる場合があります。何を達成しようとしているかによって異なります。

于 2013-03-10T17:08:39.930 に答える