Namespaces
Variants

std::filesystem::filesystem_error:: path1, std::filesystem::filesystem_error:: path2

From cppreference.net
const std:: filesystem :: path & path1 ( ) const noexcept ;
(depuis C++17)
const std:: filesystem :: path & path2 ( ) const noexcept ;
(depuis C++17)

Retourne les chemins qui étaient stockés dans l'objet d'exception.

Paramètres

(aucun)

Valeur de retour

Références à la copie des path paramètres stockés par le constructeur.

Exemple

#include <cstdio>
#include <filesystem>
#include <iostream>
int main()
{
    const std::filesystem::path old_p{std::tmpnam(nullptr)},
                                new_p{std::tmpnam(nullptr)};
    try {
        std::filesystem::rename(old_p, new_p); // lève une exception car old_p n'existe pas
    }
    catch(std::filesystem::filesystem_error const& ex) {
        std::cout
            << "what():  " << ex.what() << '\n'
            << "path1(): " << ex.path1() << '\n'
            << "path2(): " << ex.path2() << '\n';
    }
}

Sortie possible :

what():  filesystem error: cannot rename: No such file or directory [/tmp/fileIzzRLB] [/tmp/fileiUDWlV]
path1(): "/tmp/fileIzzRLB"
path2(): "/tmp/fileiUDWlV"