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++: