复合错误码(旧版)

该版本是旧版错误码,错误码为复合信息,对应旧版请求接口:

  • sendShark系列
  • sendSharkEx系列

该系列请求接口返回的错误码包含两部分:

  • retCode: 网关错误
  • dataRetCode: 业务错误

业务错误码是由业务自行定义,因此本文不做介绍,本文只介绍retCode,复合错误码也是指retCode。

复合错误码

复合错误码由下面5部分复合信息组合而成,结构如下:

[C] [LL] [NN] [SS] [MM]

  • [C]特殊标记位,表示需要的前置条件不满足(比如:没有guid、tcp通道的首包不成等)
  • [LL]错误发生在shark构架的哪一层(业务侧无需关注)
  • [NN]网络错误码(比如:无网络)
  • [SS]shark逻辑错误码(比如:回包的解密解压缩出错)
  • [MM]常规错误码(对以上错误的一个概括,一般来说业务侧只需关注这个错误就行了)

例如,错误码-840130024代表的意义如下:

  • 8: 由于注册guid失败 (-8 100 1000000)而导致此业务请求失败
  • 40: 无需要关注
  • 13: 注册guid失败的原因是连接时的socket超时(-130000)
  • 00: 00表示没有对应的Shark逻辑层错误码
  • 24: 概括为常规错误是建立连接时socket超时(-24)

这种情况下重点排查[NN]和[SS]层错误,本示例中[NN]中错误码为-130000,因此考虑guid获取失败原因是连接超时导致的,需排查网络及服务端的连通情况。

此外,如果复合错误码为正数则代表网关后端错误码,如果为负数则代表客户端错误码。

后端错误码代表客户端请求已经到达网关后端,具体示例:

800000016

  • 8:由于注册guid失败(8 100 1000000)而导致业务请求失败
  • 16:Mazu 调用同步交换密钥接口返回失败

后端错误码详细定义请参见网关错误码

复合错误码

MM常规错误码

错误码 描述
-1(MM=01) 未知错误
-2(MM=02) 无网络,网络不可用
-3(MM=03) 网络错误
-4(MM=04) 接收回包超时
-5(MM=05) 回包数据解析错误
-6(MM=06) 需要WiFi认证
-9(MM=09) 没有可用的通道(通过setEnable(false)禁掉了)
-10(MM=10) 非法参数
-11(MM=11) 业务取消请求
-14(MM=15) 发送过程出现异常(catch住了)
-15(MM=15) 用来验证服务器身份的Header字段不匹配(已废弃)
-16(MM=16) 后台业务层错误
-17(MM=17) 发送过程中超时(业务数据没到后台)
-20(MM=20) 超时,且请求还未发出(业务数据没到后台)
-21(MM=21) 创建待发送的序列化数据失败
-22(MM=22) 使用了不支持的特性
-23(MM=23) 序列化编码错误
-24(MM=24) 建立连接时socket超时(业务数据没到后台)
-25(MM=25) 需要重定向
-26(MM=26) 权限拒绝

SS客户端逻辑层错误码

错误码 描述
-300(SS=03) 回包的解密解压缩出错(废弃)
-400(SS=04) 内部命令字回包的解码出错(废弃)
-600(SS=06) 回包的解密解压缩出错
-700(SS=07) 内部命令字回包的解码出错
-800(SS=08) 只开启tcp通道,但tcp失败了
-900(SS=09) 业务命令字回包的解码出错
-1200(SS=12) 发送任务队列时异常
-1300(SS=13) tcp首包太频繁,被限制
-1400(SS=14) tcp通道被关闭了,但该请求只能通过tcp通道发送(正常不会出现)
-1500(SS=15) 序列化编码错误
-1800(SS=18) 回包数据是空的
-1900(SS=19) 本地无合法密钥,回包的secret不应为空
-2000(SS=20) 从返回的数据解析的sessionId非法
-2100(SS=21) SCSharkSkin.body为空
-2200(SS=22) SCSharkSkin.head为空
-2300(SS=23) 回包解码出错(SCSharkSkin)
-2400(SS=24) 回包解码出错(SCShark)
-2500(SS=25) 回包解析时异常
-2600(SS=26) 回包的sashimi是空的
-2700(SS=27) 非连接中,忽略心跳包(只有心跳包可能出现这个错误)

NN客户端网络层错误

错误码 描述
-10000 HttpURLConnection.openConnecion未成功
-40000 http接收数据过程的异常
-50000 接收超时,回包超时
-60000 需要重定向
-70000 未知主机
-80000 IllegalAccessError
-90000 IllegalStateException
-100000 ProtocolException
-120000 读写时的socket超时(业务数据可能已经到了后台)
-130000 连接时的socket超时(业务数据没到后台)
-140000 IOException
-150000 其他网络异常
-160000 需要WiFi认证
-170000 用来验证服务器身份的Header字段不匹配
-180000 socket未连接
-190000 socket已关闭
-210000 关闭连接失败
-220000 无物理网络,网络不可用
-240000 非法参数
-250000 回包数据列表为空
-300000 后台业务层错误
-310000 其他网络异常
-320000 其他网络异常
-330000 SocketException
-340000 socket连接失败
-350000 socket failed: EACCES (Permission denied)
-360000 Permission denied
-370000 isConnected failed: EHOSTUNREACH (No route to host)
-380000 No route to host
-390000 Connection reset by peer
-400000 setsockopt failed: ENOPROTOOPT (Protocol not available)
-410000 Protocol not available
-420000 其他SocketException
-430000 Permission denied (missing INTERNET permission?)
-440000 SecurityException
-450000 failed: ENETUNREACH (Network is unreachable)
-460000 failed: ENOTSOCK (Socket operation on non-socket)
-470000 isConnected failed: ECONNREFUSED (Connection refused)
-480000 isConnected failed: ECONNRESET (Connection reset by peer)
-490000 connect failed: errno
-500000 其他ConnectException
-510000 MalformedURLException
-520000 未知主机UnknownHostException
-530000 回包超时,网络切换过程中发出请求
-540000 回包超时,经探测为不可达的网络
-550000 回包超时,从发起请求到超时的过程中网络有切换过
-560000 Connection reset
-570000 Read failed 或者 select/poll failed
-580000 Socket input is shutdown/Already bound/Unresolved address/Unknown socket option
-590000 Socks Socket 异常
-600000 Host unreachable
-610000 Http接受阶段IOException
-620000 SSLException
-630000 EOFException
-640000 Http接收阶段其他异常
-900000 其他未知错误

C特殊标记位

错误码 描述
-800000000(C=8) 由于注册guid失败
-700000000(C=7) 由于发首包失败(仅用于TCP通道)
-600000000(C=6) 由于注册vid ticket失败(仅vid阻塞模式才可能出现)
Copyright © 2013-2023 Tencent Cloud. all right reserved,powered by GitbookUpdate Time 2023-08-31 14:46:07

results matching ""

    No results matching ""