AWS SDK for Java 1.x 已end-of-support
本文為英文版的機器翻譯版本,如內容有任何歧義或不一致之處,概以英文版為準。
例外狀況處理
瞭解 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 會擲回如果沒有網路連線可用。