PHP 用 Tablestore SDK は、エラーを例外として処理します。このトピックでは、PHP 用 Tablestore SDK のエラー処理方法、例外、および再試行ポリシーについて説明します。
方法
PHP 用 Tablestore SDK は、エラーを例外として処理します。例外が返されない場合、操作は成功です。例外が返された場合、操作は失敗です。
BatchGetRow や BatchWriteRow などのバッチ操作は、システムが例外が返されず、各行のステータスが成功であることを確認した場合にのみ成功します。
例外
OTSClientException と OTSServerException は、PHP 用 Tablestore SDK を使用するときに発生する可能性のある一般的な例外です。2 つの例外は Exception から継承されます。
OTSClientException: 無効なパラメーター値などの内部 SDK 例外。
OTSServerException: サーバーのエラーメッセージから解析されたサーバーエラー。OTSServerException は、次の情報を提供します。
getHttpStatus(): 200 や 404 などの HTTP ステータスコード。
getOTSErrorCode(): Tablestore によって返されるエラータイプ文字列。
getOTSErrorMessage(): Tablestore によって返される詳細なエラーの説明。
getRequestId(): リクエストを識別する UUID。問題が解決しない場合は、RequestId パラメーターの値を記録し、チケットを提出してください。
再試行
PHP 用 Tablestore SDK は、エラーが発生した場合、操作を自動的に再試行します。デフォルトの再試行ポリシーでは、最大再試行回数は 3 回、最大再試行間隔は 2,000 ミリ秒です。詳細については、Retry を参照してください。
OTSClientConfig で RetryPolicy を設定することにより、カスタムの再試行ポリシーを指定することもできます。
PHP 用 Tablestore SDK は、次の再試行ポリシーを提供します。
DefaultRetryPolicy: デフォルトの再試行ポリシー。最大再試行回数は 3 回、最大再試行間隔は 2,000 ミリ秒です。スロットリングエラーと読み取り操作に関連する内部サーバーエラーに対して再試行が実行されます。
NoRetryPolicy: 再試行は実行されません。