OSS Android SDK には、ClientException と ServiceException の 2 種類の例外があります。どちらもチェック可能な例外です。
ClientException
ClientExceptionは、不正なパラメータ、ネットワーク問題、アクティブなキャンセルなど、SDK内の例外を示します。
ServiceException
ServiceExceptionは、サーバー・エラー・メッセージの解析中のサーバー・エラーを示します。 OSSExceptionには、一般に以下のコンポーネントがあります。
Code: OSSエラーコードはユーザーに返します。
Message: OSS側で用意する詳細なエラーメッセージ。
RequestId: リクエストを一意に識別するUUID。 問題が解決できない場合は、このRequestIdを使用してOSS開発エンジニアに問い合わせすることができます。
HostId: アクセスされたOSSクラスタをマーキングする。
rawMessage: HTTP応答の元の本文。
一般的なOSSの例外は以下に示します。
エラーコード | 説明 |
---|---|
AccessDenied | アクセスが拒否された。 |
BucketAlreadyExists | バケットは既に存在します。 |
BucketNotEmpty | バケットは空ではありません。 |
EntityTooLarge | エンティティが大きすぎます。 |
EntityTooSmall | エンティティが小さすぎます。 |
FileGroupTooLarge | オブジェクトグループが大きすぎます。 |
FilePartNotExist | オブジェクトパーツは存在しません。 |
FilePartStale | オブジェクトパーツの有効期限が切れています。 |
InvalidArgument | パラメータ・フォーマット・エラー。 |
InvalidAccessKeyId | AccessKeyIDが存在しません。 |
InvalidBucketName | バケット名が無効です。 |
InvalidDigest | ダイジェストが無効です。 |
InvalidObjectName | オブジェクト名が無効です。 |
InvalidPart | Partが無効です。 |
InvalidPartOrder | Partオーダーが無効です。 |
InvalidTargetBucketForLogging | ロギング操作に無効なターゲットバケットがあります。 |
InternalError | OSS内部エラー。 |
MalformedXML | 不正なXML形式です。 |
MethodNotAllowed | このメソッドはサポートされていません。 |
MissingArgument | パラメータがありません。 |
MissingContentLength | コンテンツの長さがありません。 |
NoSuchBucket | バケットは存在しません。 |
NoSuchKey | オブジェクトは存在しません。 |
NoSuchUpload | マルチパートアップロードIDは存在しません。 |
NotImplemented | このメソッドは処理できません。 |
PreconditionFailed | 前処理エラー。 |
RequestTimeTooSkewed | リクエスト時間はサーバー時間より15分を超えています。 |
RequestTimeout | リクエストはタイムアウトしました。 |
SignatureDoesNotMatch | 署名エラー。 |
TooManyBuckets | ユーザーのバケット数量が上限を超えています。 |