⚠️ 通用错误代码

代码 说明 解决方案
200 成功 请求成功,正常处理
400 请求错误 检查请求参数是否正确
401 未授权 检查认证信息,重新登录
403 禁止访问 检查权限设置,联系管理员
404 资源不存在 检查URL或资源标识是否正确
429 请求过多 降低请求频率,等待一段时间后重试
500 服务器错误 服务器内部错误,稍后重试
503 服务不可用 服务暂时不可用,稍后重试

🔑 认证错误

错误 说明 解决方案
Invalid Token Token无效 重新获取token,检查格式
Token Expired Token已过期 重新登录获取新token
Authentication Failed 认证失败 检查用户名密码,确保账户正常
Insufficient Permissions 权限不足 升级账户或联系客服获取权限
Account Suspended 账户被暂停 联系客服了解原因并解封

📊 数据错误

错误 说明 解决方案
Symbol Not Found 证券代码不存在 检查代码格式,确认证券存在
No Data Available 无可用数据 检查日期范围,确认该时段有交易
Invalid Date Range 日期范围无效 调整开始和结束日期
Data Quality Issue 数据质量问题 跳过异常数据或联系数据提供方
Missing Field 字段缺失 检查请求字段列表,使用默认值
Data Type Mismatch 数据类型不匹配 转换数据类型或调整处理逻辑

频率限制错误

错误 说明 解决方案
Rate Limit Exceeded 超过频率限制 降低请求频率,添加延时
Daily Limit Reached 达到每日限额 等待次日重置或升级账户
Monthly Limit Reached 达到月度限额 等待下月重置或升级账户
Concurrent Limit 并发请求过多 减少并发数,使用队列管理
IP Blocked IP被封锁 检查请求频率,联系客服解封

🌐 网络错误

错误 说明 解决方案
Connection Timeout 连接超时 检查网络连接,增加超时时间
Read Timeout 读取超时 增加读取超时时间或分批获取
Connection Refused 连接被拒绝 检查服务器状态和网络设置
DNS Resolution Failed DNS解析失败 检查DNS设置或使用备用DNS
SSL Error SSL证书错误 检查证书配置或更新证书
Proxy Error 代理错误 检查代理设置或禁用代理

🔧 参数错误

错误 说明 解决方案
Missing Required Parameter 缺少必需参数 检查并添加必需参数
Invalid Parameter Value 参数值无效 检查参数值格式和范围
Parameter Type Mismatch 参数类型不匹配 转换为正确的数据类型
Parameter Out of Range 参数超出范围 调整参数值在有效范围内
Incompatible Parameters 参数不兼容 检查参数组合是否正确

💰 账户错误

错误 说明 解决方案
Insufficient Balance 余额不足 充值账户或减少请求量
Credit Exhausted 积分用完 购买积分或等待积分恢复
Billing Error 计费错误 联系客服处理
Subscription Expired 订阅过期 续费订阅或升级套餐

🔍 错误处理示例

# 完整的错误处理示例
import requests
import time
from typing import Optional

def api_call_with_retry(url: str, params: dict,
                        headers: dict, max_retries: int = 3) -> Optional[dict]:
    """带重试机制的API调用"""

    for attempt in range(max_retries):
        try:
            response = requests.get(url, params=params,
                                   headers=headers, timeout=30)

            # 检查状态码
            if response.status_code == 200:
                return response.json()
            elif response.status_code == 429:
                # 频率限制,等待后重试
                wait_time = 2 ** attempt
                print(f"频率限制,等待{wait_time}秒后重试...")
                time.sleep(wait_time)
            elif response.status_code in [401, 403]:
                # 认证错误
                print("认证错误,请检查token和权限")
                return None
            else:
                print(f"请求失败,状态码: {response.status_code}")
                print(response.text)

        except requests.exceptions.Timeout:
            print(f"超时错误,尝试 {attempt + 1}/{max_retries}")
            time.sleep(2 ** attempt)
        except requests.exceptions.ConnectionError:
            print(f"连接错误,尝试 {attempt + 1}/{max_retries}")
            time.sleep(2 ** attempt)
        except Exception as e:
            print(f"未知错误: {e}")
            return None

    print("达到最大重试次数,放弃请求")
    return None
⚠️
最佳实践

实现完善的错误处理机制,记录错误日志,设置合理的重试策略。 监控API调用情况,及时处理异常。联系客服时提供详细的错误信息。