Espacios de nombres
Variantes
Acciones

std::filesystem::filesystem_error::what

De cppreference.com
 
 
 
 
constchar* what()constnoexcept override;
(desde C++17)

Devuelve una cadena de caracteres aclaratoria. Esta cadena aclaratoria contiene la cadena aclaratoria pasada en el momento de la construcción. Se recomienda que las implementaciones incluyan los nombres de ruta de path1() y path2() en formato nativo y también la cadena std::system_error::what() dentro de la cadena devuelta.

[editar]Parámetros

(Ninguno)

[editar]Valor de retorno

Una cadena aclaratoria estilo C terminada en nulo que contiene la cadena aclaratoria pasada en el momento de la construcción.

[editar]Ejemplo

#include <cstdio>#include <filesystem>#include <iostream>#include <string_view>namespace fs = std::filesystem;   void explicar(std::string_view note, fs::filesystem_errorconst& ex){std::cout<< note <<" exception:\n"<<"what(): "<< ex.what()<<'\n'<<"path1(): "<< ex.path1()<<", path2(): "<< ex.path2()<<"\n\n";}   int main(){try{std::filesystem::rename("/dev", "/null");}catch(fs::filesystem_errorconst& ex){ explicar("fs::rename()", ex);}   for(autoconst path :{"/bool", "/bin/gato", "/bin/perro"})try{std::filesystem::create_directory(path);}catch(fs::filesystem_errorconst& ex){ explicar("fs::create_directory()", ex);}}

Posible salida:

fs::rename() exception: what(): filesystem error: cannot rename: Permission denied [/dev] [/null] path1(): "/dev", path2(): "/null"   fs::create_directory() exception: what(): filesystem error: cannot create directory: Permission denied [/bool] path1(): "/bool", path2(): ""   fs::create_directory() exception: what(): filesystem error: cannot create directory: File exists [/bin/gato] path1(): "/bin/gato", path2(): ""   fs::create_directory() exception: what(): filesystem error: cannot create directory: Read-only file system [/bin/perro] path1(): "/bin/perro", path2(): ""
close