Menangkap dan menangani pengecualian

Health Connect menerapkan pengecualian standar untuk operasi CRUD saat terjadi masalah. Aplikasi Anda harus menangkap dan menangani setiap pengecualian ini sebagaimana mestinya.

Setiap metode di HealthConnectClient mencantumkan pengecualian yang dapat diterapkan. Secara umum, aplikasi Anda harus menangani pengecualian berikut:

Pengecualian Deskripsi Praktik terbaik yang direkomendasikan
SecurityException Ada masalah yang muncul saat permintaan memerlukan izin yang tidak diberikan. Untuk menghindari hal ini, pastikan Anda telah deklarasi penggunaan jenis data Health Connect untuk laporan . Selain itu, Anda harus mendeklarasikan izin Health Connect dalam file manifes dan dalam aktivitas Anda.

IOException Terjadi masalah saat membaca dan menulis data dari disk. Untuk menghindari masalah ini, berikut beberapa saran:

  • Cadangkan input pengguna.
  • Dapat menangani masalah apa pun yang terjadi selama operasi tulis massal. Misalnya, pastikan proses melalui masalah, lalu lakukan operasi lainnya.
  • Terapkan percobaan ulang dan strategi backoff untuk menangani masalah permintaan.

IllegalStateException Salah satu skenario berikut terjadi:

  • Layanan Health Connect tidak tersedia.
  • Permintaan ini bukan konstruksi yang valid. Misalnya, permintaan gabungan dalam bucket berkala tempat objek Instant digunakan untuk timeRangeFilter.

Tangani kemungkinan masalah dengan input terlebih dahulu sebelum melakukan permintaan. Sebaiknya, tetapkan nilai ke variabel atau gunakan sebagai parameter dalam fungsi kustom, bukan menggunakannya langsung dalam permintaan, sehingga Anda dapat menerapkan strategi penanganan error.
RemoteException Error terjadi dalam, atau saat berkomunikasi dengan, layanan dasar yang terhubung dengan SDK.

Misalnya, aplikasi Anda mencoba menghapus data dengan uid yang ditentukan. Namun, pengecualian diterapkan setelah aplikasi mengetahui saat memeriksa layanan dasar bahwa data tersebut tidak ada.
Untuk menghindari masalah ini, berikut beberapa saran:

  • Lakukan sinkronisasi reguler antara datastore aplikasi dan Health Connect aplikasi Anda.
  • Terapkan percobaan ulang dan strategi backoff untuk menangani masalah permintaan.