异常体系¶
bt_api_py 使用统一的自定义异常体系,所有异常均继承自 BtApiError。
异常层次结构¶
BtApiError
├── ExchangeNotFoundError # 交易所未注册或未添加
├── ExchangeConnectionError # 连接失败
│ └── AuthenticationError # 认证失败
├── RequestTimeoutError # 请求超时
├── RequestError # 请求失败(非超时)
│ └── RequestFailedError # HTTP 请求失败
├── OrderError # 下单/撤单失败
│ ├── InsufficientBalanceError # 余额不足
│ ├── InvalidOrderError # 订单参数无效
│ └── OrderNotFoundError # 订单不存在
├── SubscribeError # 订阅失败
├── DataParseError # 数据解析失败
├── RateLimitError # 速率限制
├── NetworkError # 网络错误
├── InvalidSymbolError # 无效交易对
├── ConfigurationError # 配置错误
└── WebSocketError # WebSocket 错误
使用示例¶
from bt_api_py.exceptions import (
BtApiError,
ExchangeNotFoundError,
RateLimitError,
RequestTimeoutError,
)
try:
ticker = api.get_tick("UNKNOWN___SPOT", "BTCUSDT")
except ExchangeNotFoundError as e:
print(f"交易所未找到: {e}")
except RateLimitError as e:
print(f"频率限制,{e.retry_after}s 后重试")
except RequestTimeoutError as e:
print(f"请求超时: {e}")
except BtApiError as e:
print(f"其他错误: {e}")