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

Exec 格式错误

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

级别 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.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 中的新功能。