擷取及處理例外狀況

Health Connect 會在問題發生時擲回 CRUD 作業的標準例外狀況 。您的應用程式應擷取並處理這些例外狀況, 或適當。

HealthConnectClient 的每個方法都列出了可以擲回的例外狀況。 一般來說,應用程式應處理下列例外狀況:

例外狀況 說明 建議最佳做法
SecurityException 請求驗證時發生問題 未授予的權限 如要避免這種情況,請務必 您發布的已發布應用程式宣告使用 Health Connect 資料類型 應用程式。此外,您也必須宣告 Health Connect 權限 資訊清單檔案活動中。

IOException 讀取及寫入以下來源的資料時發生問題 磁碟。 為避免這個問題,請參考以下幾點建議:

  • 將所有使用者輸入內容備份。
  • 確認自己有辦法處理大量寫入作業期間發生的任何問題。適用對象 例如,請確認程序會避開問題, 其他作業。
  • 套用重試和輪詢策略來處理要求問題。

IllegalStateException 發生下列任一情況:

  • 無法使用 Health Connect 服務。
  • 要求為無效結構。例如 定期值區,其中 Instant 物件用於 timeRangeFilter

先處理輸入內容的潛在問題,然後再提出要求。 建議您為變數指派值,或將其用做自訂內的參數 函式,而不要直接在要求中使用,以便 錯誤處理策略
RemoteException 在通訊中發生錯誤,或在通訊中發生錯誤 以及 SDK 連線的基礎服務

舉例來說: 應用程式嘗試刪除具有指定 uid 的記錄。不過 會在應用程式發現後, 記錄不存在。
為避免這個問題,請參考以下幾點建議:

  • 在應用程式的資料儲存庫和 Health Connect 間定期執行同步作業。
  • 套用重試和輪詢策略來處理要求問題。