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

Object Storage Service:エラー処理

最終更新日:Feb 23, 2024

OSS SDK for Java例外は、OSSExceptionとClientExceptionの2つのタイプに分類されます。 どちらもRuntimeExceptionのサブクラスです。

例外処理の例

次のコードは、例外を処理する方法の例を示しています。

try {
    // OSSに対してオブジェクトのアップロードなどの操作を実行します。
    ossClient.putObject(...);
} catch (OSSException oe) {
    System.out.println("Caught an OSSException, which means your request made it to OSS, "
            + "しかし、何らかの理由でエラー応答で拒否されました。");
    System.out.println("エラーメッセージ:" + oe.getErrorMessage());
    System.out.println("Error Code:       " + oe.getErrorCode());
    System.out.println("Request ID:      " + oe.getRequestId());
    System.out.println("ホストID: " + oe.getHostId());
} catch (ClientException ce) {
    System.out.println("Caught an ClientException, which means the client encountered "
            + "a serious internal problem while trying to communicate with OSS, "
            + 「ネットワークにアクセスできないなど」;
    System.out.println("エラーメッセージ:" + ce.getMessage());
} finally {
    if (ossClient != null) {
        ossClient.shutdown();
    }
}
            

ClientException

ClientExceptionは、クライアントがOSSに要求を送信したり、データを送信したりするときに発生する例外を示します。 たとえば、ClientExceptionは、悪いネットワーク条件下で要求が送信されたときに返されます。 ClientExceptionは、オブジェクトのアップロード中にI/O例外が発生した場合にも返されます。

OSSException

OTSException: サーバーエラーメッセージの解決から発生するサーバー例外を示します。 ServiceExceptionには、OSSから返されるエラーコードとメッセージが含まれているため、エラーを特定して解決できます。

OSSExceptionには、次のエラー情報が含まれます。

パラメーター説明
CodeOSSから返されたエラーコード。
MessageOSSから返される詳細なエラーメッセージ。
RequestIdリクエストを一意に識別するために使用されるUUID。 問題が解決しない場合は、問題のリクエストIDをOSS開発エンジニアに提供してヘルプを求めることができます。
HostIdアクセスされたOSSクラスター内のホストのID。リクエストで指定されたホストIDと同じです。

OSS エラーコード

エラーコード説明HTTPステータスコード
AccessDeniedアクセスが拒否された場合に返されるエラーメッセージ。403
BucketAlreadyExistsバケットが既に存在する場合に返されるエラーメッセージ。409
BucketNotEmptyバケットが空でない場合に返されるエラーメッセージ。409
EntityTooLargeエンティティが大きすぎる場合に返されるエラーメッセージ。400
EntityTooSmallエンティティが小さすぎる場合に返されるエラーメッセージ。400
FileGroupTooLargeオブジェクトグループが大きすぎる場合に返されるエラーメッセージ。400
FilePartNotExist部品が存在しない場合に返されるエラーメッセージ。400
FilePartStale部品の有効期限が切れたときに返されるエラーメッセージ。400
InvalidArgumentパラメーターが無効である場合に返されるエラーメッセージ。400
InvalidAccessKeyIdAccessKey IDが存在しない場合に返されるエラーメッセージ。403
InvalidBucketNameバケット名が無効な場合に返されるエラーメッセージ。400
InvalidDigestダイジェストが無効な場合に返されるエラーメッセージ。400
InvalidObjectNameオブジェクト名が無効な場合に返されるエラーメッセージ。400
InvalidPart部品が無効な場合に返されるエラーメッセージ。400
InvalidPartOrder部品の注文が無効な場合に返されるエラーメッセージ。400
InvalidTargetBucketForLoggingロギングに指定されたターゲットバケットが無効な場合に返されるエラーメッセージ。400
内部エラー内部OSSエラーが発生した場合に返されるエラーメッセージ。500
MalformedXMLXML形式が無効な場合に返されるエラーメッセージ。400
MethodNotAllowedメソッドがサポートされていない場合に返されるエラーメッセージ。405
MissingArgumentパラメーターがない場合に返されるエラーメッセージ。411
MissingContentLengthコンテンツの長さがない場合に返されるエラーメッセージ。411
NoSuchBucketそのようなバケットが存在しない場合に返されるエラーメッセージ。404
NoSuchKeyそのようなオブジェクトが存在しない場合に返されるエラーメッセージ。404
NoSuchUploadそのようなマルチパートアップロードIDが存在しない場合に返されるエラーメッセージ。404
NotImplementedメソッドを実装できない場合に返されるエラーメッセージ。501
PreconditionFailed前提条件エラーが発生した場合に返されるエラーメッセージ。412
RequestTimeTooSkewedOSSクライアントとOSSサーバーの時間偏差が15分を超えた場合に返されるエラーメッセージ。403
RequestTimeoutリクエストがタイムアウトした場合に返されるエラーメッセージ。400
SignatureDoesNotMatch署名エラーが発生した場合に返されるエラーメッセージ。403
InvalidEncryptionAlgorithmErrorエントロピーエンコーディングに基づいて指定された暗号化アルゴリズムが無効な場合に返されるエラーメッセージ。400