errno --- 系统错误码

本模块提供对 OSError 异常的符号化错误码的访问,以及将数字码映射回其符号名的 errorcode 字典。

常量

下面的错误码基于 ANSI C / POSIX 标准;每个都是一个整数,其符号名以 E 开头。这些是 OpenMV Cam 上提供的错误码。错误码通常通过 exc.errno 访问,其中 excOSError 的一个实例。使用示例:

try:
    os.mkdir("my_dir")
except OSError as exc:
    if exc.errno == errno.EEXIST:
        print("Directory already exists")
errno.EPERM: int

不允许的操作。

errno.ENOENT: int

没有那个文件或目录。

errno.EIO: int

I/O 错误。

errno.EBADF: int

无效的文件描述符。

errno.EAGAIN: int

资源暂时不可用。由本应会阻塞的非阻塞操作(例如套接字的读/写)返回。

errno.ENOMEM: int

内存不足。

errno.EACCES: int

权限被拒绝。

errno.EEXIST: int

文件或目录已存在。

errno.ENODEV: int

没有那个设备。

errno.EISDIR: int

是一个目录(对目录执行了一个需要文件的操作)。

errno.EINVAL: int

无效的参数。

errno.EOPNOTSUPP: int

套接字或设备不支持该操作。

errno.EADDRINUSE: int

地址已在使用中。

errno.ECONNABORTED: int

连接已中止。

errno.ECONNRESET: int

连接被对端重置。

errno.ENOBUFS: int

无可用的缓冲区空间。

errno.ENOTCONN: int

套接字未连接。

errno.ETIMEDOUT: int

连接或操作超时。

errno.ECONNREFUSED: int

连接被拒绝。

errno.EHOSTUNREACH: int

主机不可达(没有到主机的路由)。

errno.EALREADY: int

操作已在进行中。

errno.EINPROGRESS: int

操作现在正在进行中(例如非阻塞的 connect())。

errno.errorcode: dict[int, str]

将每个数字错误码映射到一个带有其符号名的字符串的字典:

>>> print(errno.errorcode[errno.EEXIST])
EEXIST