exception

此模块包含了所有的异常类

exception p115client.exception.P115AccessError[source]

Bases: P115OperationalError, PermissionError

当不可访问时抛出,可能是文件被和谐了

exception p115client.exception.P115AccessTokenError[source]

Bases: P115OSError, ValueError

access_token 错误或者无效

exception p115client.exception.P115AuthenticationError[source]

Bases: P115OSError

当登录状态无效时抛出

exception p115client.exception.P115BlockingIOError

Bases: P115OSError, BlockingIOError

Resource temporarily unavailable

exception p115client.exception.P115BrokenPipeError

Bases: P115OSError, BrokenPipeError

Broken pipe

exception p115client.exception.P115BusyOSError[source]

Bases: P115OSError

当操作繁忙时抛出(115 网盘的复制、移动、删除、还原只允许最多一个操作进行中)

exception p115client.exception.P115ChildProcessError

Bases: P115OSError, ChildProcessError

No child processes

exception p115client.exception.P115ConnectionAbortedError

Bases: P115OSError, ConnectionAbortedError

Software caused connection abort

exception p115client.exception.P115ConnectionRefusedError

Bases: P115OSError, ConnectionRefusedError

Connection refused

exception p115client.exception.P115ConnectionResetError

Bases: P115OSError, ConnectionResetError

Connection reset by peer

exception p115client.exception.P115DataError[source]

Bases: P115OSError

当响应数据解析失败时抛出

exception p115client.exception.P115Error[source]

Bases: Exception

本模块的最基础异常类

exception p115client.exception.P115ExceededError[source]

Bases: P115OperationalError, PermissionError

超出允许数量范围

exception p115client.exception.P115FileExistsError

Bases: P115OSError, FileExistsError

File exists

exception p115client.exception.P115FileNotFoundError

Bases: P115OSError, FileNotFoundError

No such file or directory

exception p115client.exception.P115FileTooBig[source]

Bases: P115OperationalError, PermissionError

文件过大

exception p115client.exception.P115InterruptedError

Bases: P115OSError, InterruptedError

Interrupted system call

exception p115client.exception.P115InvalidArgumentError[source]

Bases: P115OperationalError, ValueError

参数错误

exception p115client.exception.P115IsADirectoryError

Bases: P115OSError, IsADirectoryError

Is a directory

exception p115client.exception.P115LoginError[source]

Bases: P115AuthenticationError

当登录失败时抛出

exception p115client.exception.P115NoSpaceError[source]

Bases: P115OperationalError, PermissionError

空间不足

exception p115client.exception.P115NotADirectoryError

Bases: P115OSError, NotADirectoryError

Not a directory

exception p115client.exception.P115NotSupportedError[source]

Bases: P115OperationalError

当调用不存在的接口或者接口不支持此操作时抛出

exception p115client.exception.P115OSError[source]

Bases: P115Error, OSError

本模块的最基础输出输出异常类

exception p115client.exception.P115OpenAppAuthLimitExceeded[source]

Bases: P115AuthenticationError

当授权应用数达到上限时抛出

exception p115client.exception.P115OperationalError[source]

Bases: P115OSError

当接口使用方法错误时抛出,例如参数错误、空间不足、超出允许数量范围等

exception p115client.exception.P115PermissionError

Bases: P115OSError, PermissionError

Operation not permitted

exception p115client.exception.P115ProcessLookupError

Bases: P115OSError, ProcessLookupError

No such process

exception p115client.exception.P115TimeoutError

Bases: P115OSError, TimeoutError

Connection timed out

exception p115client.exception.P115Warning[source]

Bases: P115Error, UserWarning

本模块的最基础警示类

p115client.exception.errno2error: dict[errno, type[P115Error]] = {errno.EPERM: <class 'p115client.exception.P115PermissionError'>, errno.ENOENT: <class 'p115client.exception.P115FileNotFoundError'>, errno.ESRCH: <class 'p115client.exception.P115ProcessLookupError'>, errno.EINTR: <class 'p115client.exception.P115InterruptedError'>, errno.ECHILD: <class 'p115client.exception.P115ChildProcessError'>, errno.EAGAIN: <class 'p115client.exception.P115BlockingIOError'>, errno.EACCES: <class 'p115client.exception.P115AccessError'>, errno.EBUSY: <class 'p115client.exception.P115BusyOSError'>, errno.EEXIST: <class 'p115client.exception.P115FileExistsError'>, errno.ENOTDIR: <class 'p115client.exception.P115NotADirectoryError'>, errno.EISDIR: <class 'p115client.exception.P115IsADirectoryError'>, errno.EINVAL: <class 'p115client.exception.P115InvalidArgumentError'>, errno.EFBIG: <class 'p115client.exception.P115FileTooBig'>, errno.ENOSPC: <class 'p115client.exception.P115NoSpaceError'>, errno.EPIPE: <class 'p115client.exception.P115BrokenPipeError'>, errno.ERANGE: <class 'p115client.exception.P115ExceededError'>, errno.ENOSYS: <class 'p115client.exception.P115NotSupportedError'>, errno.ENODATA: <class 'p115client.exception.P115DataError'>, errno.ECONNABORTED: <class 'p115client.exception.P115ConnectionAbortedError'>, errno.ECONNRESET: <class 'p115client.exception.P115ConnectionResetError'>, errno.ETIMEDOUT: <class 'p115client.exception.P115TimeoutError'>, errno.ECONNREFUSED: <class 'p115client.exception.P115ConnectionRefusedError'>, errno.ENOTSUP: <class 'p115client.exception.P115NotSupportedError'>, errno.EAUTH: <class 'p115client.exception.P115AuthenticationError'>}

errno 到的异常类的映射

p115client.exception.error(*args, **kwds) BaseException[source]

构建异常

Tip

会根据传入的位置参数,做一些类型推断

  • 第 1 个位置参数,记作 errcode,大概是一个 errno2.errno 的枚举类型,不能成功推断则用 errno2.errno.EIO

  • 第 2 个位置参数(若第 1 个位置参数不满足上一条,则用此参数),记作 exctype,大概是一个 P115Error 类型或其子类型,不能成功推断则用 P115OSError

假设剩余的所有没被提取的位置参数记作 rargs,最终构建的异常为 exctype(errcode, *rargs, **kwds)

p115client.exception.throw(*args, **kwds) Never[source]

抛出异常

Tip

会根据传入的位置参数,做一些类型推断

  • 第 1 个位置参数,记作 errcode,大概是一个 errno2.errno 的枚举类型,不能成功推断则用 errno2.errno.EIO

  • 第 2 个位置参数(若第 1 个位置参数不满足上一条,则用此参数),记作 exctype,大概是一个 P115Error 类型或其子类型,不能成功推断则用 P115OSError

假设剩余的所有没被提取的位置参数记作 rargs,最终抛出的异常为 exctype(errcode, *rargs, **kwds)