主動解讀並回應錯誤,提供更一致的使用者體驗。無論您是開發自動化雲端工作流程,還是與遠端 API 互動,Rust 用戶端程式庫都能提供妥善處理錯誤的方法。本指南說明如何:
- 處理錯誤:檢查錯誤類型,並根據服務狀態碼分支應用程式邏輯,例如在遇到
NotFound錯誤時建立缺少的資源。 - 檢查錯誤詳細資料:擷取並檢查 Google Cloud 服務傳回的豐富錯誤詳細資料,例如要求欄位違規或配額失敗,以排解 API 問題並動態調整執行階段行為。
- 解決繫結錯誤:解讀並解決因要求欄位無效或遺漏而導致的用戶端 HTTP 繫結錯誤,確保要求順利送達服務。
必要條件
本指南使用 Secret Manager 服務和 Cloud Natural Language API 示範錯誤處理程序。如要執行範例,請先完成下列步驟:
- 啟用 Secret Manager 服務。
- 啟用 Cloud Natural Language API。
- 設定驗證。
依附元件
使用下列指令,將必要依附元件新增至 Cargo.toml 檔案:
cargo add google-cloud-secretmanager-v1 google-cloud-gax crc32c google-cloud-language-v2
處理錯誤
您可以使用 Rust 用戶端程式庫顯示錯誤並做出回應。舉例來說,您可能會使用錯誤探索來分支處理行為:雲端服務的常見模式是使用資源,就好像資源的容器存在一樣,只有在遇到錯誤時才建立容器。如果容器通常存在,這種做法比在提出要求前檢查容器是否存在更有效率。
以下範例說明如何處理缺少資源的情況:嘗試更新 Secret Manager 密鑰時擷取錯誤,並在密鑰不存在時建立密鑰。
嘗試建立新的密鑰版本:
如果
update_attempt成功,請列印成功結果並傳回:如果
update_attempt失敗,您必須釐清失敗原因。 要求失敗的原因有很多,例如連線中斷或驗證權杖發生錯誤。重試政策可處理大部分這類錯誤。尋找服務傳回的錯誤:找出與缺少密鑰相應的錯誤:
如果遇到「找不到」錯誤 (
Code::NotFound),請嘗試建立密鑰:請嘗試再次新增 Secret 版本。這次,如果發生任何錯誤,請傳回錯誤: