AWS SDK for Java1.x は 2025 年 12 月 31 日にend-of-supportしました。新しい機能、可用性の向上、セキュリティ更新のために、AWS SDK for Java 2.x に移行することをお勧めします。
翻訳は機械翻訳により提供されています。提供された翻訳内容と英語版の間で齟齬、不一致または矛盾がある場合、英語版が優先します。
例外処理
が例外をAWS SDK for Javaスローする方法とタイミングを理解することは、 SDK を使用して高品質のアプリケーションを構築する上で重要です。以下のセクションでは、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スローします。