最終更新日時: 2024年06月11日 22時45分38秒 (JST)
Akira Takahashi が更新

履歴 編集

class
<filesystem>

# std::filesystem::filesystem_error(C++17)

    namespace std::filesystem {
      class filesystem_error : public system_error;
    }

## 概要

`filesystem_error`クラスは、ファイルシステムの操作で発生したエラーを扱う例外クラスである。

## メンバ関数

名前 | 説明 | 対応バージョン
--- | --- | ---
`(constructor)` | コンストラクタ | C++17
`~filesystem_error() = default` | デストラクタ | C++17
`filesystem_error& operator=(const filesystem_error&) = default` | 代入演算子 | C++17
`path1` | エラーとなったひとつめのパスを取得する | C++17
`path2` | エラーとなったふたつめのパスを取得する | C++17
`code` | エラーコードを取得する | C++17
`what` | エラー理由の文字列を取得する | C++17

## 例

    #include <iostream>
    #include <cassert>
    #include <filesystem>

    namespace fs = std::filesystem;

    int main()
    {
      assert(!fs::exists("a/from.txt"));

      // 存在しないファイルをコピーしようとした
      try {
        fs::copy_file("a/from.txt", "b/to.txt");
      }
      catch (fs::filesystem_error& err) {
        std::cout << err.what() << std::endl;
      }
    }

### 出力例

    filesystem error: cannot copy file: No such file or directory [a/from.txt] [b/to.txt]

## バージョン

### 言語

- C++17

### 処理系

- Clang: 7.0 ✅
- GCC: 8.1 ✅
- Visual C++: