Table StorePHP SDK目前採用“異常”的方式處理錯誤。本文介紹了Table Store錯誤處理方式、異常處理資訊和出錯時的重試策略。
方式
Table StorePHP SDK目前採用“異常”的方式處理錯誤,如果調用介面沒有拋出異常,則說明操作成功,否則失敗。
批量相關介面,例如BatchGetRow和BatchWriteRow不僅需要判斷是否有異常,還需要檢查每行的狀態是否成功,只有全部成功後才能保證整個介面調用是成功的。
異常
Table StorePHP SDK中有OTSClientException和OTSServerException兩種異常,都最終繼承自Exception。
OTSClientException:指SDK內部出現的異常,例如參數設定錯誤等。
OTSServerException:指伺服器端錯誤,來自對伺服器錯誤資訊的解析。OTSServerException包含以下幾個成員:
getHttpStatus():HTTP返回碼,例如200、404等。
getOTSErrorCode():Table Store返回的錯誤類型字串。
getOTSErrorMessage():Table Store返回的錯誤詳細描述。
getRequestId():用於唯一標識此次請求的UUID。當您無法解決問題時,請記錄此RequestId並提交工單。
重試
SDK中出現錯誤時會自動重試。預設策略是最多重試3次,最大稍候再試為2000毫秒。更多資訊,請參見Retry。
您也可以通過修改OTSClientConfig中的RetryPolicy自訂重試策略。
目前SDK中已經實現的重試策略如下:
DefaultRetryPolicy:預設重試策略。最大重試次數為3,最大稍候再試為2000毫秒,對流控類錯誤以及讀操作相關的服務端內部錯誤進行重試。
NoRetryPolicy:不進行任何重試。