捕获和处理异常
使用收藏夹整理内容 根据您的偏好保存和分类内容。
当遇到问题时,Health Connect 会为 CRUD 操作抛出标准异常。您的应用应根据需要捕获并处理这些异常。
HealthConnectClient
上的每个方法都列出了可能抛出的异常。通常,您的应用应处理以下异常
异常 |
描述 |
推荐最佳实践 |
SecurityException
| 当请求需要未授予的权限时,会遇到问题。 | 为避免此问题,请确保您已 声明已发布应用中 Health Connect 数据类型的使用情况。此外,您必须在 清单文件中 和 活动中 声明 Health Connect 权限。
|
IOException
| 从磁盘读取和写入数据时遇到问题。 | 为避免此问题,以下是一些建议
- 备份任何用户输入。
- 能够处理批量写入操作期间发生的任何问题。例如,确保流程能够绕过问题并执行剩余的操作。
- 应用重试和回退策略来处理请求问题。
|
IllegalStateException
| 以下场景之一已发生
- Health Connect 服务不可用。
- 请求不是有效的构造。例如,在周期性存储桶中的聚合请求,其中
Instant 对象用于 timeRangeFilter 。
| 在发出请求之前,首先处理输入的可能问题。最好将值分配给变量或在自定义函数中将它们用作参数,而不是直接在请求中使用它们,以便您可以应用错误处理策略。 |
RemoteException
| 在 SDK 连接到的底层服务中或与之通信时发生错误。
例如,您的应用尝试使用给定的 uid 删除记录。但是,在应用在底层服务中检查后发现记录不存在后,会抛出此异常。 | 为避免此问题,以下是一些建议
- 在应用的数据存储和 Health Connect 之间执行定期同步。
- 应用重试和回退策略来处理请求问题。
|
此页面上的内容和代码示例受内容许可中描述的许可证的约束。Java 和 OpenJDK 是 Oracle 和/或其关联公司的商标或注册商标。
上次更新时间:2024-09-04 UTC。
[[["易于理解","easyToUnderstand","thumb-up"],["解决了我的问题","solvedMyProblem","thumb-up"],["其他","otherUp","thumb-up"]],[["缺少我需要的信息","missingTheInformationINeed","thumb-down"],["过于复杂/步骤过多","tooComplicatedTooManySteps","thumb-down"],["已过时","outOfDate","thumb-down"],["示例/代码问题","samplesCodeIssue","thumb-down"],["其他","otherDown","thumb-down"]],["上次更新时间:2024-09-04 UTC."],[],[]]