J'étudie les standards C++ 11. Je voulais comprendre si error_code et errno liés les uns aux autres? Si oui alors comment? Si non, dans quelles conditions je devrais m'attendre à errno et dans quelles conditions error_code sera défini?error_code vs errno
J'ai fait un petit programme de test pour comprendre cela mais encore un peu confus. S'il vous plaît aider.
#include <iostream>
#include <system_error>
#include <thread>
#include <cstring>
#include <cerrno>
#include <cstdio>
using namespace std;
int main()
{
try
{
thread().detach();
} catch (const system_error & e) {
cout<<"Error code value - "<<e.code().value()<<" ; Meaning - "<<e.what()<<endl;
cout<<"Error no. - "<<errno<<" ; Meaning - "<<strerror(errno)<<endl;
}
}
Output -
Error code value - 22 ; Meaning - Invalid argument
Error no. - 0 ; Meaning - Success
Votre titre fait référence à quelque chose appelé 'error_code', mais votre code ne le mentionne pas. –
@Keith: La fonction e.code() retourne l'objet de error_code dont je lis la valeur avec la fonction value. – tshah06