Exception API
Exception Hierarchy
Exception
└─ BaseError
├─ ApiError
│ ├─ ApiDataError
│ ├─ CredentialError
│ │ ├─ LoginExpiredError
│ │ └─ NotLoginError
│ ├─ RequestGroupResultMissingError
│ ├─ SignInvalidError
│ └─ RatelimitedError
├─ HTTPError
├─ LoginError
└─ NetworkError
qqmusic_api.core.exceptions
统一异常定义模块.
BaseError
BaseError(
message: str,
context: dict[str, Any] | None = None,
cause: BaseException | None = None,
)
Bases: Exception
本库所有自定义异常的基类.
| ATTRIBUTE | DESCRIPTION |
|---|---|
message |
错误描述信息.
TYPE:
|
context |
错误相关的上下文数据. |
cause |
导致此异常的原始异常(如果有).
TYPE:
|
Source code in qqmusic_api/core/exceptions.py
NetworkError
HTTPError
HTTPError(
message: str,
status_code: int,
cause: BaseException | None = None,
)
ApiError
ApiError(
message: str,
code: int = -1,
data: Any = None,
cause: BaseException | None = None,
context: dict[str, Any] | None = None,
)
Bases: BaseError
API 业务逻辑异常.
当 QQ 音乐 API 返回的 JSON 中包含非 0 的 code 时抛出。
| ATTRIBUTE | DESCRIPTION |
|---|---|
message |
错误描述信息.
TYPE:
|
code |
API 返回的错误码.
TYPE:
|
data |
API 返回的原始数据或相关数据.
TYPE:
|
Source code in qqmusic_api/core/exceptions.py
ApiDataError
Bases: ApiError
API 请求成功但数据错误异常.
通常在 JSON 解析失败、关键字段缺失或数据校验失败时抛出。
Source code in qqmusic_api/core/exceptions.py
CredentialError
CredentialError(
message: str,
code: int = -1,
data: Any = None,
cause: BaseException | None = None,
context: dict[str, Any] | None = None,
)
Bases: ApiError
凭证相关错误的基类异常.
所有与 Cookie、Token、登录态相关的异常都应继承此类。
Source code in qqmusic_api/core/exceptions.py
LoginExpiredError
Bases: CredentialError
登录凭证过期异常 (code=1000,104400,104401).
当 API 返回 1000, 104400, 104401 错误码时抛出,提示用户需要重新登录或刷新 Cookie。
Source code in qqmusic_api/core/exceptions.py
NotLoginError
Bases: CredentialError
未登录异常.
当本地未检测到有效 Cookie 或 Credential 为空时抛出。
Source code in qqmusic_api/core/exceptions.py
LoginError
LoginError(
message: str = "登录失败",
cause: BaseException | None = None,
)
RequestGroupResultMissingError
SignInvalidError
RatelimitedError
Bases: ApiError
触发风控异常 (code=2001).
当 API 返回 2001 错误码时抛出,表示触发风控,部分接口表示 musickey 失效。