Wykrywanie i obsługa wyjątków

Health Connect zgłasza standardowe wyjątki dla operacji CRUD, gdy wystąpi problem. Aplikacja powinna wychwytywać i uwzględniać każdy z tych wyjątków.

Każda metoda w metodzie HealthConnectClient zawiera listę wyjątków, które mogą zostać zgłoszone. Ogólnie aplikacja powinna obsługiwać te wyjątki:

Wyjątek Description Zalecana sprawdzona metoda
SecurityException Gdy żądania wymagają nieudzielonych uprawnień, występują problemy. Aby tego uniknąć, upewnij się, że przesłano prośbę o uprawnienia do opublikowanej aplikacji. Te uprawnienia muszą być też zadeklarowane w pliku manifestu i w aktywności.

IOException Podczas odczytywania i zapisywania danych z dysku występują problemy. Oto kilka sugestii, które pomogą Ci uniknąć tego problemu:

  • Utwórz kopię zapasową danych wejściowych użytkownika.
  • być w stanie rozwiązywać wszelkie problemy, które pojawiają się podczas zbiorczych operacji zapisu. Zadbaj na przykład o to, aby proces przekroczył problem i wykona pozostałe operacje.
  • Stosuj strategie ponownych prób i ponawiania w celu rozwiązywania problemów z żądaniami.

IllegalStateException Wystąpił jeden z tych scenariuszy:

  • Usługa Health Connect jest niedostępna.
  • Żądanie nie jest prawidłową konstrukcją. Przykładem może być żądanie zbiorcze w zasobnikach okresowych, w których na potrzeby elementu timeRangeFilter używany jest obiekt Instant.

Zanim wyślesz żądanie, rozwiąż ewentualne problemy z danymi wejściowymi. Najlepiej jest przypisywać wartości do zmiennych lub używać ich jako parametrów w funkcji niestandardowej zamiast używać ich bezpośrednio w żądaniach, aby móc stosować strategie obsługi błędów.
RemoteException W pierwotnej usłudze, z którą łączy się pakiet SDK, lub w trakcie komunikacji z nią wystąpiły błędy.

Na przykład aplikacja próbuje usunąć rekord z podanym uid. Wyjątek jest jednak zwracany, gdy aplikacja podczas sprawdzania w bazie wiedzy o rekordzie nie istnieje.
Oto kilka sugestii, które pomogą Ci uniknąć tego problemu:

  • Regularnie synchronizuj dane między magazynem danych aplikacji a Health Connect.
  • Stosuj strategie ponownych prób i ponawiania w celu rozwiązywania problemów z żądaniami.