Java Rapid SDK 中的例外處理
Java Rapid SDK 使用執行期 (未經檢查) 例外來傳遞錯誤。例外的根階層為 ExpediaGroupException,所有其他例外都由此衍生,ExpediaGroupException 絕不會直接丟出 。
ExpediaGroupException 分為兩類:
ExpediaGroupServiceException:在下游服務回傳錯誤回應時丟出。也就是說,服務成功接收到要求但無法處理。例外物件提供呼叫函式多項關於錯誤的資訊,包含 HTTP 狀態碼和詳細訊息。ExpediaGroupAuthException是該例外的子類別,會在認證失敗時丟出。ExpediaGroupClientException:用戶端出現錯誤時丟出,無論是在嘗試傳送要求或剖析回應時。例如,如果未配置登入資訊,則會丟出ExpediaGroupConfigurationException。
由於例外未經檢查,要處理哪些例外由呼叫函式決定。原則上,假設 ExpediaGroupClientException 是不可重試的,通常應於開發期間修復。而 ExpediaGroupServiceException 則可以恢復,例如服務暫時無法使用而導致的錯誤。因此,錯誤處理應著重於後者。