错误码

错误码,是对各类错误场景进行的归类。以下是量化功能设定的错误码和对应的场景,您可以通过示例中的方法,识别和处理异常错误。

错误码枚举

错误码枚举类 ErrCode

错误码枚举错误码枚举对应场景
ExceedReqLimit请求过于频繁,触发频率限制
ReqTimeout接口请求超时
NoQuoteRight行情权限不足
InvalidArgument无效参数(参数校验失败)
ReqFailed接口请求失败
NoDataAvailable无数据(返回数据是 NA)
EmptySymbol参数 symbol 为空
Unknow未知错误

示例

量化功能已经为各种错误情况定义了一组错误码,在您使用时,可以针对返回的不同错误码执行相应的处理逻辑。
以下是一个示例说明如何使用错误码对异常错误的处理:

try:
    a = current_price(code=Con"US.AAPL")  
    # 标的的写法有误(正确写法为 Contract("US.AAPL")),触发无效参数的报错
except APIException as ex:
    if ex.err_code == ErrCode.ExceedReqLimit:
        print("请求过于频繁,触发频率限制")
    elif ex.err_code == ErrCode.ReqTimeout:
        print("接口请求超时")
    elif ex.err_code == ErrCode.NoQuoteRight:
        print("行情权限不足")
    elif ex.err_code == ErrCode.InvalidArgument:
        print("无效参数(参数校验失败)")
    elif ex.err_code == ErrCode.ReqFailed:
        print("接口请求失败")
    elif ex.err_code == ErrCode.NoDataAvailable:
        print("无数据(返回数据是NA)")
    elif ex.err_code == ErrCode.EmptySymbol:
        print("参数symbol为空")
    elif ex.err_code == ErrCode.Unknown:
        print("未知错误")
    else:
        print("可能存在其他错误")

在上述示例中,在获取最新价格时,由于标的格式填写错误,系统会返回 “InvalidArgument” 的错误码。根据第 12 行,会在日志中打印 “无效参数(参数校验失败)”。

参考上述示例,您可以在捕捉到相应的错误码后,执行期望的处理逻辑。