错误处理

表格存储PHP SDK目前采用“异常”的方式处理错误。本文介绍了表格存储错误处理方式、异常处理信息和出错时的重试策略。

方式

表格存储PHP SDK目前采用“异常”的方式处理错误,如果调用接口没有抛出异常,则说明操作成功,否则失败。

说明

批量相关接口,例如BatchGetRowBatchWriteRow不仅需要判断是否有异常,还需要检查每行的状态是否成功,只有全部成功后才能保证整个接口调用是成功的。

异常

表格存储PHP SDK中有OTSClientExceptionOTSServerException两种异常,都最终继承自Exception。

  • OTSClientException:指SDK内部出现的异常,例如参数设置错误等。

  • OTSServerException:指服务器端错误,来自对服务器错误信息的解析。OTSServerException包含以下几个成员:

    • getHttpStatus():HTTP返回码,例如200、404等。

    • getOTSErrorCode():表格存储返回的错误类型字符串。常见错误请参见错误码参考

    • getOTSErrorMessage():表格存储返回的错误详细描述。

    • getRequestId():用于唯一标识此次请求的UUID。当您无法解决问题时,请记录此RequestId提交工单或者加入钉钉群36165029092(表格存储技术交流群-3)进行咨询

重试

  • SDK中出现错误时会自动重试。默认策略是最多重试3次,最大重试间隔为2000毫秒。更多信息,请参见Retry

  • 您也可以通过修改OTSClientConfig中的RetryPolicy自定义重试策略。

目前SDK中已经实现的重试策略如下:

  • DefaultRetryPolicy:默认重试策略。最大重试次数为3,最大重试间隔为2000毫秒,对流控类错误以及读操作相关的服务端内部错误进行重试。

  • NoRetryPolicy:不进行任何重试。