errno — 标准 errno 系统符号


此模块提供标准的 errno 系统符号。每个符号的值是对应的整数值。名称和描述借用自 linux/include/errno.h,它应该是包罗万象的。

errno.errorcode

字典,提供从 errno 值到底层系统中字符串名称的映射。例如,errno.errorcode[errno.EPERM] 映射到 'EPERM'

要将数字错误代码转换为错误消息,请使用 os.strerror()

在以下列表中,当前平台上未使用的符号未由模块定义。定义的符号的具体列表可用作 errno.errorcode.keys()。可用符号可以包括

errno.EPERM

操作不允许。此错误映射到异常 PermissionError

errno.ENOENT

没有这样的文件或目录。此错误映射到异常 FileNotFoundError

errno.ESRCH

没有这样的进程。此错误映射到异常 ProcessLookupError

errno.EINTR

系统调用中断。此错误映射到异常 InterruptedError

errno.EIO

I/O 错误

errno.ENXIO

没有这样的设备或地址

errno.E2BIG

参数列表太长

errno.ENOEXEC

执行格式错误

errno.EBADF

错误的文件号

errno.ECHILD

没有子进程。此错误映射到异常 ChildProcessError

errno.EAGAIN

请重试。此错误映射到异常 BlockingIOError

errno.ENOMEM

内存不足

errno.EACCES

权限被拒绝。此错误映射到异常 PermissionError

errno.EFAULT

错误地址

errno.ENOTBLK

需要块设备

errno.EBUSY

设备或资源忙

errno.EEXIST

文件已存在。此错误映射到异常 FileExistsError

errno.EXDEV

跨设备链接

errno.ENODEV

没有这样的设备

errno.ENOTDIR

不是目录。此错误映射到异常 NotADirectoryError

errno.EISDIR

是目录。此错误映射到异常 IsADirectoryError

errno.EINVAL

无效参数

errno.ENFILE

文件表溢出

errno.EMFILE

打开的文件过多

errno.ENOTTY

不是打字机

errno.ETXTBSY

文本文件忙

errno.EFBIG

文件太大

errno.ENOSPC

设备上没有剩余空间

errno.ESPIPE

非法查找

errno.EROFS

只读文件系统

链接过多

errno.EPIPE

管道破裂。此错误映射到异常 BrokenPipeError

errno.EDOM

数学参数超出函数定义域

errno.ERANGE

数学结果无法表示

errno.EDEADLK

会发生资源死锁

errno.ENAMETOOLONG

文件名过长

errno.ENOLCK

无可用记录锁

errno.ENOSYS

函数未实现

errno.ENOTEMPTY

目录不为空

errno.ELOOP

遇到过多符号链接

errno.EWOULDBLOCK

操作将会阻塞。此错误映射到异常 BlockingIOError

errno.ENOMSG

无所需类型的消息

errno.EIDRM

标识符已移除

errno.ECHRNG

通道号超出范围

errno.EL2NSYNC

二级未同步

errno.EL3HLT

三级已停止

errno.EL3RST

三级已重置

errno.ELNRNG

链路号超出范围

errno.EUNATCH

协议驱动程序未附加

errno.ENOCSI

无可用CSI结构

errno.EL2HLT

二级已停止

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.EADV

广播错误

errno.ESRMNT

Srmount 错误

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.ENOTSUP

不支持的操作

在 3.2 版本中添加。

errno.EPFNOSUPPORT

不支持的协议族

errno.EAFNOSUPPORT

协议不支持的地址族

errno.EADDRINUSE

地址已被使用

errno.EADDRNOTAVAIL

无法分配请求的地址

errno.ENETDOWN

网络已关闭

errno.ENETUNREACH

网络不可达

errno.ENETRESET

网络因重置而断开连接

errno.ECONNABORTED

软件导致连接中止。此错误映射到异常 ConnectionAbortedError

errno.ECONNRESET

对端重置连接。此错误映射到异常 ConnectionResetError

errno.ENOBUFS

没有可用的缓冲区空间

errno.EISCONN

传输端点已连接

errno.ENOTCONN

传输端点未连接

errno.ESHUTDOWN

传输端点关闭后无法发送。此错误映射到异常 BrokenPipeError

errno.ETOOMANYREFS

引用过多:无法拼接

errno.ETIMEDOUT

连接超时。此错误映射到异常 TimeoutError

errno.ECONNREFUSED

连接被拒绝。此错误映射到异常 ConnectionRefusedError

errno.EHOSTDOWN

主机已关闭

errno.EHOSTUNREACH

没有到主机的路由

errno.EALREADY

操作已在进行中。此错误映射到异常 BlockingIOError

errno.EINPROGRESS

操作正在进行中。此错误映射到异常 BlockingIOError

errno.ESTALE

过时的 NFS 文件句柄

errno.EUCLEAN

结构需要清理

errno.ENOTNAM

不是 XENIX 命名类型文件

errno.ENAVAIL

没有可用的 XENIX 信号量

errno.EISNAM

是命名类型文件

errno.EREMOTEIO

远程 I/O 错误

errno.EDQUOT

超出配额

errno.EQFULL

接口输出队列已满

在 3.11 版本中添加。

errno.ENOTCAPABLE

功能不足。此错误映射到异常 PermissionError

可用性:WASI,FreeBSD

在 3.11.1 版本中添加。

errno.ECANCELED

操作已取消

在 3.2 版本中添加。

errno.EOWNERDEAD

所有者已死亡

在 3.2 版本中添加。

errno.ENOTRECOVERABLE

状态不可恢复

在 3.2 版本中添加。