例外処理 - AWS SDK for Java 1.x

AWS SDK for Java (v1) の近日発表 end-of-support しました。AWS SDK for Java v2 に移行することをお勧めします。日付、その他の詳細、移行方法については、リンク先の発表内容を参照してください。

翻訳は機械翻訳により提供されています。提供された翻訳内容と英語版の間で齟齬、不一致または矛盾がある場合、英語版が優先します。

例外処理

SDK を使用して高品質のアプリケーションを構築するには、 が例外を AWS SDK for Java スローする方法とタイミングを理解することが重要です。以下のセクションでは、SDK によってスローされる例外のさまざまなケース、および例外の適切な処理方法について説明します。

非チェック例外を使用する理由

は、次の理由で、チェックされた例外の代わりにランタイム (またはチェックされていない) 例外 AWS SDK for Java を使用します。

  • 懸念がない場合には例外ケースの処理を強制的に適用せずに (さらにコードを冗長にすることなく)、開発者がエラーを細かく制御できるようにするため。

  • サイズの大きいアプリケーションで、チェック例外に関連する拡張性の問題が発生するのを防ぐため。

一般的に、チェック例外は小規模なアプリケーションでは役立ちますが、アプリケーションのサイズが大きくなり、複雑化すると、チェック例外が問題となる場合があります。

チェック例外と非チェック例外の使用方法の詳細については、以下を参照してください。

AmazonServiceException (およびサブクラス)

AmazonServiceException は、 の使用時に発生する最も一般的な例外です AWS SDK for Java。この例外は、 AWS のサービスからのエラーレスポンスを表します。例えば、存在しない Amazon EC2 インスタンスを終了しようとすると、EC2 はエラーレスポンスを返し、そのエラーレスポンスのすべての詳細がAmazonServiceExceptionスローされる に含まれます。場合によっては、AmazonServiceException のサブクラスがスローされ、開発者は catch ブロックを使用して、エラーケースの処理を細かく制御できるようになります。

が発生するとAmazonServiceException、リクエストは に正常に送信された AWS のサービス が、正常に処理できなかったことがわかります。これは、リクエストのパラメータに含まれるエラーまたはサービス側の問題が原因です。

AmazonServiceException では次のような情報がわかります。

  • 返された HTTP ステータスコード

  • 返された AWS エラーコード

  • サービスからの詳細なエラーメッセージ

  • AWS 失敗したリクエストの リクエスト ID

AmazonServiceException には、失敗したリクエストが呼び出し元の障害 (無効な値を含むリクエスト) であるか、 AWS のサービスの障害 (内部サービスエラー) であるかに関する情報も含まれています。

AmazonClientException

AmazonClientException は、 にリクエストを送信しようとしたとき、 AWS または からのレスポンスを解析しようとしたときに、Java クライアントコード内で問題が発生したことを示します AWS。AmazonClientException は一般的に よりも重大でありAmazonServiceException、クライアントが AWS サービスへのサービス呼び出しを実行できない大きな問題を示します。例えば、いずれかのクライアントで オペレーションを呼び出そうとしたときにネットワーク接続が利用AmazonClientExceptionできない場合、 は を AWS SDK for Java スローします。