std::filesystem::filesystem_error

 
 
 
 
定义于头文件 <filesystem>
class filesystem_error;
(C++17 起)

std::filesystem::filesystem_error 定义文件系统库中函数的抛出版重载所抛出的异常对象。

cpp/error/exceptioncpp/error/runtime errorcpp/error/system errorstd-filesystem-filesystem error-inheritance.svg

继承图

成员函数

构造异常对象
(公开成员函数)
替换异常对象
(公开成员函数)
返回导致错误的操作所涉及的路径
(公开成员函数)
返回解释性字符串
(公开成员函数)

继承自 std::system_error

成员函数

返回错误码
(std::system_error 的公开成员函数)
[虚]
返回解释性字符串
(std::system_error 的虚公开成员函数)

继承自 std::exception

成员函数

析构该异常对象
(std::exception 的虚公开成员函数)
[虚]
返回解释性字符串
(std::exception 的虚公开成员函数)

注解

为确保 filesystem_error 的复制函数为 noexcept ,典型实现将保有 what() 的返回值的对象和 path1()path2() 所分别引用的二个 std::filesystem::path 对象存储于分离分配的引用计数存储。

当前 MS STL 实现不合标准:上述对象被直接存储在 filesystem 对象中,这使得复制函数不是 noexcept 。

示例