结论
linux下系统errno都有对应的说明描述,发生错误时获取errno即可知道具体问题描述
如下图
代码如下
golang版
package main
import (
"syscall"
"strings"
"fmt"
)
func main() {
for i := 0; i <= 200; i++ {
if !strings.HasPrefix(syscall.Errno(i).Error(), "errno ") {
fmt.Printf("errno % 4d:%s\n", i, syscall.Errno(i).Error())
}
}
}
c++版
#include <iostream>
#include <string.h>
using namespace std;
int main()
{
for(int i=0; i<=200; i++)
{
if (string(strerror(i)).find("error") == string::npos)
{
cout<<"errno "<<i<<" "<< strerror(i)<<endl;
}
}
return 0;
}