OSS PHP SDK の例外 (OssException) には、無効なパラメーターやファイルの欠落など、さまざまなエラーが含まれます。 エラーメッセージを取得するには、getMessage メソッドを使用します。

OssException の詳細については、『GitHub』をご参照ください。

例外処理の例

次のコードは、既存のバケットを作成するときに例外を処理する方法を示し、エラーメッセージを出力します。

    try {
        $ossClient->createBucket($bucket);
    } catch (OssException $e) {
		print("Exception:" . $e->getMessage() . "\n");
    }

以下の情報も取得できます。

パラメーター 説明
HTTPStatus HTTP status code. getHTTPStatus メソッドを使ってステータスコードを取得します。
ErrorCode OSS から返されたエラーコードを指定します。 エラーコードは getErrorCode メソッドを使用して取得します。
ErrorMessage OSS から返されるエラーメッセージを指定します。 getErrorMessage メソッドを使用してエラーメッセージを取得します。
RequestId UUID を指定します。 これは固有のものであり、リクエストを識別するために使用されます。 問題が解決しない場合は、OSS 開発者に RequestId を送ってヘルプを求めてください。 getRequestId メソッドを使用して RequestId を取得します。
Details OSS から返される詳細なエラーメッセージを指定します。 getDetails メソッドを使用して詳細なエラーメッセージを取得します。

一般的な OSS エラーコード

エラーコード 説明 HTTP ステータスコード
AccessDenied アクセスが拒否されました。 403
BucketAlreadyExists バケットが既に存在します。 409
BucketNotEmpty バケットは空ではありません。 409
EntityTooLarge エンティティサイズが上限を超えています。 400
EntityTooSmall エンティティサイズが最小制限を下回っています。 400
FileGroupTooLarge ファイルグループの合計サイズが上限を超えています。 400
FilePartNotExist そのようなパーツはありません。 400
FilePartStale そのパーツは期限切れです。 400
InvalidArgument パラメーターの形式が無効です。 400
InvalidAccessKeyId そのような AccessKeyId は存在しません。 403
InvalidBucketName バケット名が無効です。 400
InvalidDigest ダイジェストが無効です。 400
InvalidObjectName オブジェクト名が無効です。 400
InvalidPart そのパーツは無効です。 400
InvalidPartOrder パーツオーダーが無効です。 400
InvalidTargetBucketForLogging ログファイルを格納するバケットが無効です。 400
InternalError OSS のエラーです。 500
MalformedXML XML 形式が無効です。 400
MethodNotAllowed このメソッドはサポートされていません。 405
MissingArgument パラメーターが設定されていません。 411
MissingContentLength コンテンツの長さが設定されていません。 411
NoSuchBucket そのようなバケットは存在しません。 404
NoSuchKey そのようなオブジェクト (キー) は存在しません。 404
NoSuchUpload そのような uploadId は存在しません。 404
NotImplemented そのメソッドは実装されていません。 501
PreconditionFailed 事前条件のエラーです。 412
RequestTimeTooSkewed OSSClient に設定された現地時間が、OSS サーバーに設定された時間から 15 分以上ずれています。 403
RequestTimeout リクエストはタイムアウトしました。 400
SignatureDoesNotMatch 署名が間違っています。 403
InvalidEncryptionAlgorithmError 指定された暗号化アルゴリズム (エントロピー符号化タイプ) が無効です。 400