İstisnaları yakalama ve işleme

Bir sorunla karşılaşıldığında Health Connect, CRUD işlemleri için standart istisnalar atar. Uygulamanız bu istisnaların her birini uygun şekilde yakalamalı ve işlemelidir.

HealthConnectClient üzerindeki her yöntem, atılabilecek istisnaları listeler. Genel olarak, uygulamanız aşağıdaki istisnaları işlemelidir:

İstisna Description Önerilen en iyi uygulama
SecurityException İstekler için verilmemiş izinler gerektiğinde sorunlarla karşılaşılır. Bu durumu önlemek için yayınlanan uygulamanız için izinleri istediğinizden emin olun. Ayrıca, bunların manifest dosyasında ve etkinliğinizde de beyan edilmesi gerekir.

IOException Diskten veri okunurken ve yazılırken sorunlarla karşılaşıldı. Bu sorunu önlemek için aşağıdaki önerileri uygulayabilirsiniz:

  • Kullanıcı girişlerini yedekleyin.
  • Toplu yazma işlemleri sırasında ortaya çıkan sorunları çözebilmelisiniz. Örneğin, sürecin sorunu aştığından ve kalan işlemlerin yürütüldüğünden emin olun.
  • İstek sorunlarını ele almak için yeniden deneme ve geri yükleme stratejileri uygulayın.

IllegalStateException Aşağıdaki senaryolardan biri gerçekleşir:

  • Health Connect hizmeti kullanılamıyor.
  • İstek geçerli bir oluşturma işlemi değil. Örneğin, timeRangeFilter için Instant nesnesinin kullanıldığı periyodik paketlerdeki toplama isteği.

İstekte bulunmadan önce girişlerle ilgili olası sorunları giderin. Hata işleme stratejileri uygulayabilmek için değerleri doğrudan isteklerinizde kullanmak yerine değişkenlere değer atayın veya bir özel işlev içinde parametre olarak kullanın.
RemoteException SDK'nın bağlandığı temel hizmet içinde veya bu hizmet ile iletişim kurulurken hatalar oluştu.

Örneğin, uygulamanız belirli bir uid ile bir kaydı silmeye çalışıyor olabilir. Ancak uygulama, temel hizmette kaydın mevcut olmadığını kontrol ettikten sonra istisna iptal edilir.
Bu sorunu önlemek için aşağıdaki önerileri uygulayabilirsiniz:

  • Uygulamanızın veri deposu ile Health Connect arasında düzenli senkronizasyonlar gerçekleştirin.
  • İstek sorunlarını ele almak için yeniden deneme ve geri yükleme stratejileri uygulayın.