すべてのプロダクト
Search
ドキュメントセンター

Object Storage Service:エラー処理 (C SDK)

最終更新日:Nov 30, 2025

このトピックでは、OSS SDK for C を使用する際のエラー処理方法について説明します。

例外処理

OSS SDK for C を使用してリクエストを送信する際にエラーが発生した場合、対応するエラーメッセージが `aos_status_s` で返されます。 次の表に、`aos_status_s` で返されるエラーを示します。

エラーコード

説明

code

エラーリクエストの HTTP ステータスコード。

整数

error_code

OSS から返されるエラーコード。

文字列

error_msg

OSS から返されるエラーメッセージ。

文字列

req_id

リクエストを識別する UUID。

文字列

タイムアウト処理

返された `aos_status_t` パラメーターの HTTP ステータスコードが 2xx ではなく、`error_code` が -992 または -995 を示す場合、接続またはリクエストがタイムアウトしたことを意味します。 この場合、リクエストを再送信できます。

`aos_status.h` ファイル内の `aos_should_retry(aos_status_t *)` を使用して、戻り値に基づいてエラーがリトライを必要とするかどうかを判断できます。 値 1 が返された場合は、エラーに対してリトライを実行する必要があります。

一般的なエラーコード

エラーコード

説明

HTTP ステータスコード

AccessDenied

アクセスが拒否されました。

403

BucketAlreadyExists

バケットはすでに存在します。

409

BucketNotEmpty

バケットは空ではありません。

409

EntityTooLarge

エンティティサイズが最大制限を超えています。

400

EntityTooSmall

エンティティサイズが最小制限を下回っています。

400

FileGroupTooLarge

ファイルグループのサイズが最大制限を超えています。

400

FilePartNotExist

パートが存在しません。

400

FilePartStale

パートの有効期限が切れています。

400

InvalidArgument

パラメーターのフォーマットが無効です。

400

InvalidAccessKeyId

AccessKey ID が存在しません。

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

マルチパートアップロード ID が存在しません。

404

NotImplemented

このメソッドは実装できません。

501

PreconditionFailed

前処理中にエラーが発生しました。

412

RequestTimeTooSkewed

OSS クライアントと OSS サーバーの時刻のずれが 15 分を超えています。

403

RequestTimeout

リクエストがタイムアウトしました。

400

SignatureDoesNotMatch

署名エラーが発生しました。

403

TooManyBuckets

バケット数が制限を超えています。

400