namespace std::filesystem {
class filesystem_error : public system_error {
public:
filesystem_error(const string& what_arg, error_code ec);
filesystem_error(const string& what_arg,
const path& p1, error_code ec);
filesystem_error(const string& what_arg,
const path& p1, const path& p2, error_code ec);
const path& path1() const noexcept;
const path& path2() const noexcept;
const char* what() const noexcept override;
};
}
Constructors are provided that store zero, one, or two paths associated with
an error
. filesystem_error(const string& what_arg, error_code ec);
Postconditions: The postconditions of this function are indicated in
Table
114. Table
114 —
filesystem_error(const string&, error_code) effects
Expression | Value |
runtime_error::what() | what_arg.c_str() |
code() | ec |
path1().empty() | true |
path2().empty() | true |
filesystem_error(const string& what_arg, const path& p1, error_code ec);
Postconditions: The postconditions of this function are indicated in
Table
115. Table
115 —
filesystem_error(const string&, const path&, error_code) effects
Expression | Value |
runtime_error::what() | what_arg.c_str() |
code() | ec |
path1() | Reference to stored copy of p1 |
path2().empty() | true |
filesystem_error(const string& what_arg, const path& p1, const path& p2, error_code ec);
Postconditions: The postconditions of this function are indicated in
Table
116. Table
116 —
filesystem_error(const string&, const path&, const path&, error_code) effects
Expression | Value |
runtime_error::what() | what_arg.c_str() |
code() | ec |
path1() | Reference to stored copy of p1 |
path2() | Reference to stored copy of p2 |
const path& path1() const noexcept;
Returns: A reference to the copy of
p1 stored by the
constructor, or, if none, an empty path
. const path& path2() const noexcept;
Returns: A reference to the copy of
p2 stored by the
constructor, or, if none, an empty path
. const char* what() const noexcept override;
Returns: A string containing
runtime_error::what(). The exact format is unspecified
. Implementations are encouraged but not required to include
path1.native_string()
if not empty,
path2.native_string() if not empty, and
system_error::what() strings in the returned
string
.