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;
};
}
The class
filesystem_error defines the type of
objects thrown as exceptions to report file system errors from functions described in this
subclause
.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
.