tsh*_*h06 5 c++ error-handling errno c++11
我正在学习C++ 11标准.我想了解error_code和errno是否相互关联?如果是,那怎么样?如果没有那么我应该在哪些条件下设置errno以及在哪些条件下设置error_code?
我做了一个小测试程序来理解这一点,但仍然有点困惑.请帮忙.
#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
Run Code Online (Sandbox Code Playgroud)
errno
这些函数使用那些记录它们遇到错误的副作用的函数 - 这些函数是从不抛出异常的C库或OS函数. system_error
是C++标准库用于何时使用文档库设备来抛出该异常.完全分开.最后,阅读你的文档!
归档时间: |
|
查看次数: |
895 次 |
最近记录: |