Skip to main content

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

Exec格式错误

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

破碎的管道

errno.EDOM

数学参数超出了func的域

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

.lib中的a.out部分已损坏

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

超出配额