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);
filesystem_error(const string& what_arg, const path& p1, error_code ec);
Ensures:
code() == ec,
path1() returns a reference to the stored copy of p1,
path2().empty() == true, and
string_view(what()).find(what_arg) != string_view::npos.
filesystem_error(const string& what_arg, const path& p1, const path& p2, error_code ec);
Ensures:
code() == ec,
path1() returns a reference to the stored copy of p1,
path2() returns a reference to the stored copy of p2, and
string_view(what()).find(what_arg) != string_view::npos.
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: An
ntbs that incorporates
the
what_arg argument supplied to the constructor
. The exact format is unspecified
. Implementations should include
the
system_error::what() string and
the pathnames of
path1 and
path2
in the native format in the returned string
.