std::filesystem::filesystem_error:: filesystem_error
|
filesystem_error
(
const
std::
string
&
what_arg,
std:: error_code ec ) ; |
(1) | (начиная с C++17) |
|
filesystem_error
(
const
std::
string
&
what_arg,
const
std::
filesystem
::
path
&
p1,
|
(2) | (начиная с C++17) |
|
filesystem_error
(
const
std::
string
&
what_arg,
const
std::
filesystem
::
path
&
p1,
|
(3) | (начиная с C++17) |
|
filesystem_error
(
const
filesystem_error
&
other
)
noexcept
;
|
(4) | (начиная с C++17) |
Создает новый объект
filesystem_error
.
what()
после конструирования возвращает строку, содержащую
what_arg
(при условии, что она не содержит встроенный нулевой символ). Если один или оба аргумента
path
не предоставлены, вместо них используется нулевой
path
.
other
. Если
*
this
и
other
оба имеют динамический тип
std::filesystem_error::filesystem_error
, тогда
std::
strcmp
(
what
(
)
, other.
what
(
)
)
==
0
.
Параметры
| what_arg | - | пояснительная строка |
| ec | - | код ошибки для конкретной ошибки, зависящей от операционной системы |
| p1, p2 | - | пути, задействованные в операции, вызвавшей системную ошибку |
| other | - |
другой объект
filesystem_error
для копирования
|
Примечания
Поскольку копирование
std::filesystem::filesystem_error
не может вызывать исключения, пояснительная строка обычно хранится внутри в отдельно выделенном хранилище со счетчиком ссылок. Это также объясняет, почему нет конструктора, принимающего
std::string&&
: в любом случае пришлось бы копировать содержимое.
Типичные реализации также хранят
path
объекты, на которые ссылаются
path1()
и
path2()
в хранилище с подсчётом ссылок.
Пример
|
Этот раздел не завершён
Причина: отсутствует пример |