例外狀況處理 - AWS SDK for Java 1.

AWS SDK for Java 1.x 已end-of-support於 2024 年 7 月 31 日進入維護模式,並將於二零二五年十二月三十一日推出。我們建議您移轉至,以繼續接收新功能、可用性改進和安全性更新。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 失敗要求的要求識別碼

AmazonServiceException還包括有關失敗請求是調用者的錯誤(具有非法值的請求)還 AWS 服務是錯誤(內部服務錯誤)的信息。

AmazonClientException

AmazonClientException表示 Java 客戶端代碼中發生了一個問題,無論是在嘗試向其發送請求 AWS 或嘗試解析響應時 AWS。A 通AmazonClientException常比一個更嚴重AmazonServiceException,並且表示阻止用戶端對服務進行服務呼叫的主要問題。 AWS 例AmazonClientException如,當您嘗試在其中一個用戶端上呼叫作業時, AWS SDK for Java 會擲回如果沒有網路連線可用。