ヘルスコネクトは、問題が発生した場合に CRUD 操作について標準的な例外をスローします。すべてのアプリで、これらを適切にキャッチして処理する必要があります。
HealthConnectClient
の各メソッドは、スローされる可能性のある例外をリストしますが、一般に次のような処理が必要です。
例外 | 説明 | 推奨されるベスト プラクティス |
---|---|---|
SecurityException
| 現在付与されていない権限を必要とするリクエストの場合にスローされます。 | これを回避するには、 公開データのヘルスコネクトのデータ型の使用を宣言 。また、ヘルスコネクトの権限を宣言して、 (マニフェスト ファイルとアクティビティ内)で宣言します。 |
IOException
| ディスクのデータの読み取りと書き込みで問題が発生した場合にスローされます。 | この問題を回避するには、次の方法をお試しください。
|
IllegalStateException
| 次のいずれかの状況が発生した場合にスローされます。
| リクエストを処理する前に、入力に関する潜在的な問題に対処します。リクエストで値を直接使用する代わりに、カスタム関数内で変数に値を代入するか、パラメータとして使用することをおすすめします。そうすることで、エラー処理戦略を適用できます。 |
RemoteException
| SDK が接続されている基となるサービスでエラーが発生したか、サービスとの通信中にエラーが発生した場合にスローされます。 たとえば、アプリが特定の uid を持つレコードを削除しようとした場合に、基となるサービスでチェックして初めてレコードが存在しないことが検出されると、例外がスローされます。 | この問題を回避するには、次の方法をお試しください。
|