把man errno 里的内容都翻出来了,留着以后备用。

错误信息处理方法在此。

错误 错误细节 标准
E2BIG 变量列表太长 POSIX.1
EACCES 权限不足 POSIX.1
EADDRINUSE 地址已被使用 POSIX.1
EADDRNOTAVAIL 地址不存在 POSIX.1
EAFNOSUPPORT 地址簇不支持 POSIX.1
EAGAIN 资源暂时不可用(就是说等一等就可用了) POSIX.1
EALREADY 连接正在工作 POSIX.1
EBADE 错误的交换
EBADF 文件描述符错误 POSIX.1
EBADFD 文件描述符状态错误
EBADMSG 消息错误 POSIX.1
EBADR 请求描述符错误
EBADRQC 请求代码错误
EBADSLT 插槽错误
EBUSY 资源正忙 POSIX.1
ECANCELED 操作已取消 POSIX.1
ECHILD 无子进程 POSIX.1
ECHRNG 频道号超出范围
ECOMM 通讯时发送错误
ECONNABORTED 连接被废弃 POSIX.1
ECONNREFUSED 拒绝连接 POSIX.1
ECONNRESET 连接被重置 POSIX.1
EDEADLK 死锁被忽略 POSIX.1
EDEADLOCK 同EDEADLK
EDESTADDRREQ 需要目标地址 POSIX.1
EDOM 变量超出范围(数学函数) POSIX.1,C99
EDQUOT 磁盘限额满 POSIX.1
EEXIST 文件已存在 POSIX.1
EFAULT 地址错误 POSIX.1
EFBIG 文件太大 POSIX.1
EHOSTDOWN 主机挂了(host is down)
EHOSTUNREACH 无法到达主机 POSIX.1
EIDRM 标志符被移去 POSIX.1
EILSEQ 非法的字节序列 POSIX.1,C99
EINPROGRESS 操作正在执行 POSIX.1
EINTR 操作被信号打断(见signal(7)) POSIX.1
EINVAL 非法的参数 POSIX.1
EIO 输入/输出错误 POSIX.1
EISCONN socket已经连接 POSIX.1
EISDIR 是目录 POSIX.1
EISNAM 是文件(named type file)
EKEYEXPIRED key已过期
EKEYREJECTED key被服务拒绝
EKEYREVOKED key已被撤销
EEL2HLT level 2 挂起
EL2NSYNC level 2 非同步
EL3HLT level 3 挂起
EL3RST level 3 挂起
ELIBACC 无法连接需要的共享库
ELIBBAD 连接坏的共享库
ELIBMAX 尝试连接的库太多了
ELIBSCN a.out程序里的lib段已坏
ELIBEXEC 无法进入共享库的文件夹
ELOOP 符号链接层次太多(一般是绕成环了) POSIX.1
EMEDIUMTYPE 错误的介质类型
EMFILE 打开的文件过多 POSIX.1
EMLINK 太多链接 POSIX.1
EMSGSIZE 消息太长 POSIX.1
EMULTIHOP 多跳尝试(不懂,直译的) POSIX.1
ENAMETOOLONG 文件名太长 POSIX.1
ENETDOWN 网络down掉了 POSIX.1
ENETRESET 连接被网络抛弃 POSIX.1
ENETUNREACH 网络无法到达 POSIX.1
ENFILE 系统打开文件数过多 POSIX.1
ENBUFS 缓冲区空间不足 POSIX.1
ENODATA 读队列里没有消息 POSIX.1
ENODEV 设备不存在 POSIX.1
ENOENT 文件或目录不存在 POSIX.1
ENOEXEC 可执行文件格式错误 POSIX.1
ENOKEY 需要的key不可用
ENOLCK locks 都不可用 POSIX.1
ENOLINK link正在被使用 POSIX.1
ENOMEDIUM 没有发现介质
ENOMEM 空间不足 POSIX.1
ENOMSG 该类型对应的消息不存在 POSIX.1
ENONET 机器没有连接到网络
ENOPKG 包尚未安装
ENOPROTOOPT 协议不可用 POSIX.1
ENOSPC 设备空间不足 POSIX.1
ENOSR 没有流资源 POSIX.1
ENOSTR 不是一个流 POSIX.1
ENOSYS 函数未实施 POSIX.1
ENOTBLK 需要块设备
ENOTCONN socket未连接 POSIX.1
ENOTDIR 不是目录 POSIX.1
ENOTEMPTY 目录非空 POSIX.1
ENOTSOCK 不是一个套接字(socket) POSIX.1
ENOTSUP 操作不支持 POSIX.1
ENOTTY 不合适的I/O控制操作 POSIX.1
ENOTUNIQ 主机名在网络上不唯一
ENXIO 地址或设备不存在 POSIX.1
EOPNOTSUPP 操作不被套接字支持 POSIX.1
EOVERFLOW 值超出了变量存储的范围 POSIX.1
EPERM 操作不允许 POSIX.1
EPFNOSUPPORT 协议簇不支持
EPIPE 坏的管道 POSIX.1
EPROTO 协议错误 POSIX.1
EPROTONOSUPPORT 协议不支持 POSIX.1
EPROTOTYPE 错误的套接字协议类型 POSIX.1
ERANGE 结果太长 POSIX.1,C99
EREMCHG 远程地址已变化
EREMOTE 对象是远程的
EREMOTEIO 远程I/O错误
ERESTART 被打断的系统调用需要重新开始
EROFS 只读文件系统 POSIX.1
ESHUTDOWN
ESPIPE 无效的seek POSIX.1
ESOCKTNOSUPPORT 套接字类型不支持
ESRCH 不存在对应的进程 POSIX.1
ESTALE 文件句柄过期 POSIX.1
ESTRPIPE 流管道错误
ETIME 超时 POSIX.1
ETIMEDOUT 连接超时 POSIX.1
ETXTBSY 文本文件正忙 POSIX.1
EUCLEAN 结构需要清理
EUNATCH 协议安装盘没有连接
EUSERS 用户太多
EWOUDLBLOCK 操作被阻塞 POSIX.1
EXDEV 不合适的链接 POSIX.1
EXFULL 交换区已满

在控制台下,有一个特殊的环境变量 $?,保存着前一个程序的返回值。