Namespaces
Variants

std::filesystem::filesystem_error:: filesystem_error

From cppreference.net
filesystem_error ( const std:: string & what_arg,
std:: error_code ec ) ;
(1) (depuis C++17)
filesystem_error ( const std:: string & what_arg,

const std:: filesystem :: path & p1,

std:: error_code ec ) ;
(2) (depuis C++17)
filesystem_error ( const std:: string & what_arg,

const std:: filesystem :: path & p1,
const std:: filesystem :: path & p2,

std:: error_code ec ) ;
(3) (depuis C++17)
filesystem_error ( const filesystem_error & other ) noexcept ;
(4) (depuis C++17)

Construit un nouvel objet filesystem_error .

1-3) Le code d'erreur est défini sur ec et optionnellement, les chemins qui étaient impliqués dans l'opération ayant entraîné l'erreur sont définis sur p1 et p2 . what() après la construction retourne une chaîne qui contient what_arg (en supposant qu'elle ne contient pas de caractère nul intégré). Si l'un ou les deux arguments path ne sont pas fournis, un path nul est utilisé à la place.
4) Constructeur de copie. Initialise le contenu avec celui de other . Si * this et other ont tous deux le type dynamique std::filesystem_error::filesystem_error alors std:: strcmp ( what ( ) , other. what ( ) ) == 0 .

Paramètres

what_arg - chaîne explicative
ec - code d'erreur pour l'erreur spécifique dépendante du système d'exploitation
p1, p2 - chemins impliqués dans l'opération générant l'erreur système
other - autre objet filesystem_error à copier

Notes

Parce que la copie de std::filesystem::filesystem_error n'est pas autorisée à lever des exceptions, la chaîne explicative est généralement stockée en interne dans un stockage à comptage de références alloué séparément. C'est aussi pourquoi il n'existe pas de constructeur prenant std::string&& : il devrait de toute façon copier le contenu.

Les implémentations typiques stockent également path les objets référencés par path1() et path2() dans le stockage à comptage de références.

Exemple