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

第 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.EHWPOISON

内存页面有硬件错误。

在 3.14 版本加入。

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

找不到介质

errno.EMEDIUMTYPE

错误的介质类型

errno.ENOKEY

所需密钥不可用

errno.EKEYEXPIRED

密钥已过期

errno.EKEYREVOKED

密钥已被撤销

errno.EKEYREJECTED

密钥被服务拒绝

errno.ERFKILL

由于 RF-kill,操作不可能

errno.ELOCKUNMAPPED

锁定的锁已被取消映射

errno.ENOTACTIVE

设施未激活

errno.EAUTH

身份验证错误

在 3.2 版本加入。

errno.EBADARCH

可执行文件中的 CPU 类型错误

在 3.2 版本加入。

errno.EBADEXEC

错误的可执行文件(或共享库)

在 3.2 版本加入。

errno.EBADMACHO

格式错误的 Mach-o 文件

在 3.2 版本加入。

errno.EDEVERR

设备错误

在 3.2 版本加入。

errno.EFTYPE

不适当的文件类型或格式

在 3.2 版本加入。

errno.ENEEDAUTH

需要身份验证器

在 3.2 版本加入。

errno.ENOATTR

找不到属性

在 3.2 版本加入。

errno.ENOPOLICY

找不到策略

在 3.2 版本加入。

errno.EPROCLIM

进程过多

在 3.2 版本加入。

errno.EPROCUNAVAIL

程序的错误过程

在 3.2 版本加入。

errno.EPROGMISMATCH

程序版本错误

在 3.2 版本加入。

errno.EPROGUNAVAIL

RPC 程序不可用

在 3.2 版本加入。

errno.EPWROFF

设备电源已关闭

在 3.2 版本加入。

errno.EBADRPC

RPC 结构错误

在 3.2 版本加入。

errno.ERPCMISMATCH

RPC 版本错误

在 3.2 版本加入。

errno.ESHLIBVERS

共享库版本不匹配

在 3.2 版本加入。

errno.ENOTCAPABLE

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

可用性:WASI, FreeBSD

在 3.11.1 版本加入。

errno.ECANCELED

操作已取消

在 3.2 版本加入。

errno.EOWNERDEAD

所有者已死亡

在 3.2 版本加入。

errno.ENOTRECOVERABLE

状态不可恢复

在 3.2 版本加入。