16.15. errno
— 标准 errno 系统符号¶
本模块提供标准的 errno
系统符号。每个符号的值是其对应的整数值。符号的名称和描述来自 linux/include/errno.h
,应该是非常全面的。
-
errno.
errorcode
¶ 提供从 errno 值到底层系统中字符串名称的映射的字典。例如,
errno.errorcode[errno.EPERM]
映射为'EPERM'
。
如果要将数字的错误代码转换为错误信息,请使用 os.strerror()
。
在下面的列表中,当前平台上没有使用的符号没有被本模块定义。 已定义的符号的具体列表可参见 errno.errorcode.keys()
。 可用的符号包括:
-
errno.
EPERM
¶ 操作不被允许
-
errno.
ENOENT
¶ 无此文件或目录
-
errno.
ESRCH
¶ 无此进程
-
errno.
EINTR
¶ 系统调用中断。
参见
此错误被映射到异常
InterruptedError
。
-
errno.
EIO
¶ I/O 错误
-
errno.
ENXIO
¶ 无此设备或地址
-
errno.
E2BIG
¶ 参数列表过长
-
errno.
ENOEXEC
¶ 执行格式错误
-
errno.
EBADF
¶ 错误的文件号
-
errno.
ECHILD
¶ 无子进程
-
errno.
EAGAIN
¶ 重试
-
errno.
ENOMEM
¶ 内存不足
-
errno.
EACCES
¶ 没有权限
-
errno.
EFAULT
¶ 错误的地址
-
errno.
ENOTBLK
¶ 需要块设备
-
errno.
EBUSY
¶ 设备或资源忙
-
errno.
EEXIST
¶ 文件已存在
-
errno.
EXDEV
¶ 跨设备链接
-
errno.
ENODEV
¶ 无此设备
-
errno.
ENOTDIR
¶ 不是目录
-
errno.
EISDIR
¶ 是目录
-
errno.
EINVAL
¶ 无效的参数
-
errno.
ENFILE
¶ 文件表溢出
-
errno.
EMFILE
¶ 打开的文件过多
-
errno.
ENOTTY
¶ 不是打字机
-
errno.
ETXTBSY
¶ 文本文件忙
-
errno.
EFBIG
¶ 文件过大
-
errno.
ENOSPC
¶ 设备已无可用空间
-
errno.
ESPIPE
¶ 非法查找
-
errno.
EROFS
¶ 只读文件系统
-
errno.
EMLINK
¶ 链接过多
-
errno.
EPIPE
¶ 管道已损坏
-
errno.
EDOM
¶ 数学参数超出函数范围
-
errno.
ERANGE
¶ 数学运算结果无法表示
-
errno.
EDEADLK
¶ 将发生资源死锁
-
errno.
ENAMETOOLONG
¶ 文件名过长
-
errno.
ENOLCK
¶ 没有可用的记录锁
-
errno.
ENOSYS
¶ 功能未实现
-
errno.
ENOTEMPTY
¶ 目录非空
-
errno.
ELOOP
¶ 遇到过多的符号链接
-
errno.
EWOULDBLOCK
¶ 操作将阻塞
-
errno.
ENOMSG
¶ 没有所需类型的消息
-
errno.
EIDRM
¶ 标识符被移除
-
errno.
ECHRNG
¶ 信道编号超出范围
-
errno.
EL2NSYNC
¶ 级别 2 未同步
-
errno.
EL3HLT
¶ 级别 3 已停止
-
errno.
EL3RST
¶ 级别 3 重置
-
errno.
ELNRNG
¶ 链接编号超出范围
-
errno.
EUNATCH
¶ 未附加协议驱动
-
errno.
ENOCSI
¶ 没有可用的 CSI 结构
-
errno.
EL2HLT
¶ 级别 2 已停止
-
errno.
EBADE
¶ 无效的交换
-
errno.
EBADR
¶ 无效的请求描述符
-
errno.
EXFULL
¶ 交换已满
-
errno.
ENOANO
¶ 没有阳极
-
errno.
EBADRQC
¶ 无效的请求码·
-
errno.
EBADSLT
¶ 无效的槽位
-
errno.
EDEADLOCK
¶ 文件锁定死锁错误
-
errno.
EBFONT
¶ 错误的字体文件格式
-
errno.
ENOSTR
¶ 设备不是流
-
errno.
ENODATA
¶ 没有可用的数据
-
errno.
ETIME
¶ 计时器已到期
-
errno.
ENOSR
¶ 流资源不足
-
errno.
ENONET
¶ 机器不在网络上
-
errno.
ENOPKG
¶ 包未安装
-
errno.
EREMOTE
¶ 对象是远程的
-
errno.
ENOLINK
¶ 链接已被切断
-
errno.
EADV
¶ 广告错误
-
errno.
ESRMNT
¶ 挂载错误
-
errno.
ECOMM
¶ 发送时通讯错误
-
errno.
EPROTO
¶ 协议错误
-
errno.
EMULTIHOP
¶ 已尝试多跳
-
errno.
EDOTDOT
¶ RFS 专属错误
-
errno.
EBADMSG
¶ 非数据消息
-
errno.
EOVERFLOW
¶ 值相对于已定义数据类型过大
-
errno.
ENOTUNIQ
¶ 名称在网络上不唯一
-
errno.
EBADFD
¶ 文件描述符处于错误状态
-
errno.
EREMCHG
¶ 远端地址已改变
-
errno.
ELIBACC
¶ 无法访问所需的共享库
-
errno.
ELIBBAD
¶ 访问已损坏的共享库
-
errno.
ELIBSCN
¶ a.out 中的 .lib 部分已损坏
-
errno.
ELIBMAX
¶ 尝试链接过多的共享库
-
errno.
ELIBEXEC
¶ 无法直接执行共享库
-
errno.
EILSEQ
¶ 非法字节序列
-
errno.
ERESTART
¶ 已中断系统调用需要重启
-
errno.
ESTRPIPE
¶ 流管道错误
-
errno.
EUSERS
¶ 用户过多
-
errno.
ENOTSOCK
¶ 在非套接字上执行套接字操作
-
errno.
EDESTADDRREQ
¶ 需要目标地址
-
errno.
EMSGSIZE
¶ 消息过长
-
errno.
EPROTOTYPE
¶ 套接字的协议类型错误
-
errno.
ENOPROTOOPT
¶ 协议不可用
-
errno.
EPROTONOSUPPORT
¶ 协议不受支持
-
errno.
ESOCKTNOSUPPORT
¶ 套接字类型不受支持
-
errno.
EOPNOTSUPP
¶ 操作在传输端点上不受支持
-
errno.
EPFNOSUPPORT
¶ 协议族不受支持
-
errno.
EAFNOSUPPORT
¶ 地址族不受协议支持
-
errno.
EADDRINUSE
¶ 地址已被使用
-
errno.
EADDRNOTAVAIL
¶ 无法分配要求的地址
-
errno.
ENETDOWN
¶ 网络已断开
-
errno.
ENETUNREACH
¶ 网络不可达
-
errno.
ENETRESET
¶ 网络因重置而断开连接
-
errno.
ECONNABORTED
¶ 软件导致连接中止
-
errno.
ECONNRESET
¶ 连接被对方重置
-
errno.
ENOBUFS
¶ 没有可用的缓冲区空间
-
errno.
EISCONN
¶ 传输端点已连接
-
errno.
ENOTCONN
¶ 传输端点未连接
-
errno.
ESHUTDOWN
¶ 传输端点关闭后无法发送
-
errno.
ETOOMANYREFS
¶ 引用过多:无法拼接
-
errno.
ETIMEDOUT
¶ 连接超时
-
errno.
ECONNREFUSED
¶ 连接被拒
-
errno.
EHOSTDOWN
¶ 主机已关闭
-
errno.
EHOSTUNREACH
¶ 没有到主机的路由
-
errno.
EALREADY
¶ 操作已在进行
-
errno.
EINPROGRESS
¶ 操作正在进行
-
errno.
ESTALE
¶ 过期的 NFS 文件句柄
-
errno.
EUCLEAN
¶ 结构需要清理
-
errno.
ENOTNAM
¶ 不是 XENIX 命名类型文件
-
errno.
ENAVAIL
¶ 没有可用的 XENIX 信标
-
errno.
EISNAM
¶ 是命名类型文件
-
errno.
EREMOTEIO
¶ 远程 I/O 错误
-
errno.
EDQUOT
¶ 超出配额