server-doc-基础

错误处理

许多系统调用和函数都会因为各种各样的原因失败。他们失败时设置外部变量errno 来知名失败原因。许多不同函数库都把这个变量用做报告错误的标准方法。
注意:程序必须在函数报告出错 之后立刻检查errno 变量,因为它可能马上就被下一个函数调用所覆盖,即使下一个函数没有出错,也可能会覆盖这个变量。

常见错误码

错误码 描述
EPERM 操作不允许
ENOENT 文件或目录不存在。
EINTR 系统调用被中断。
EAGAIN 重试,下次有可能成功!
EBADF 文件描述符失效或本身无效
EIO I/O错误。
EBUSY 设备或资源忙。
EEXIST 文件存在。
EINVL 无效参数。
EMFILE 打开的文件过多。
ENODEV 设备不存在。
EISDIR 是一个目录。
ENOTDIR 不是一个目录。
E2BIG 参数列表太长
EACCESS 权限不足
ECHILD 无子进程
EDOM 数学参数不在函数域内
EFAULT 地址错误
EFBIG 文件太大

错误码打印可以使用strerrorperror函数。