std::filesystem::filesystem_error:: filesystem_error
|
filesystem_error
(
const
std::
string
&
what_arg,
std:: error_code ec ) ; |
(1) | (seit C++17) |
|
filesystem_error
(
const
std::
string
&
what_arg,
const
std::
filesystem
::
path
&
p1,
|
(2) | (seit C++17) |
|
filesystem_error
(
const
std::
string
&
what_arg,
const
std::
filesystem
::
path
&
p1,
|
(3) | (seit C++17) |
|
filesystem_error
(
const
filesystem_error
&
other
)
noexcept
;
|
(4) | (seit C++17) |
Konstruiert ein neues
filesystem_error
-Objekt.
what()
gibt nach der Konstruktion eine Zeichenkette zurück, die
what_arg
enthält (vorausgesetzt, sie enthält kein eingebettetes Nullzeichen). Falls eines oder beide
path
Argumente nicht angegeben werden, wird stattdessen ein Null-
path
verwendet.
other
. Wenn
*
this
und
other
beide den dynamischen Typ
std::filesystem_error::filesystem_error
haben, dann
std::
strcmp
(
what
(
)
, other.
what
(
)
)
==
0
.
Parameter
| what_arg | - | erläuternde Zeichenkette |
| ec | - | Fehlercode für den spezifischen betriebssystemabhängigen Fehler |
| p1, p2 | - | an der Operation beteiligte Pfade, die den Systemfehler verursachen |
| other | - |
ein weiteres
filesystem_error
Objekt zum Kopieren
|
Hinweise
Da das Kopieren von
std::filesystem::filesystem_error
nicht zum Auslösen von Ausnahmen führen darf, wird der erläuternde String typischerweise intern in einem separat allozierten referenzgezählten Speicher gespeichert. Dies ist auch der Grund, warum es keinen Konstruktor gibt, der
std::string&&
akzeptiert: Er müsste den Inhalt ohnehin kopieren.
Typische Implementierungen speichern auch
path
Objekte, auf die durch
path1()
und
path2()
referenziert wird, im referenzgezählten Speicher.
Beispiel
|
Dieser Abschnitt ist unvollständig
Grund: Kein Beispiel |