捕获和处理异常
通过收藏保持井然有序 根据您的偏好保存并分类内容。
Health Connect 在遇到问题时会针对 CRUD 操作抛出标准异常。您的应用应适当地捕获并处理这些异常。
HealthConnectClient
上的每个方法都列出了可能抛出的异常。通常,您的应用应处理以下异常:
异常 |
说明 |
推荐的最佳实践 |
SecurityException
| 当请求需要但未授予权限时,会遇到问题。 | 为避免此问题,请确保您已为您发布的应用程序声明了 Health Connect 数据类型的使用。此外,您必须在清单文件和您的 activity 中声明 Health Connect 权限。
|
IOException
| 从磁盘读写数据时遇到问题。 | 为避免此问题,以下是一些建议:
- 备份所有用户输入。
- 能够处理批量写入操作期间发生的任何问题。例如,确保进程能够跳过问题并继续执行剩余操作。
- 应用重试和退避策略来处理请求问题。
|
IllegalStateException
| 发生了以下其中一种情况:
- Health Connect 服务不可用。
- 请求构造无效。例如,在周期性存储桶中使用
Instant 对象作为 timeRangeFilter 的聚合请求。
| 在发出请求之前,首先处理输入中可能存在的问题。最好将值赋给变量或将其用作自定义函数中的参数,而不是直接在请求中使用它们,以便您可以应用错误处理策略。 |
RemoteException
| SDK 连接到的底层服务内部或与其通信时发生错误。
例如,您的应用正在尝试删除具有给定 uid 的记录。然而,在应用检查底层服务发现该记录不存在后,抛出了异常。 | 为避免此问题,以下是一些建议:
- 在您的应用数据存储与 Health Connect 之间执行定期同步。
- 应用重试和退避策略来处理请求问题。
|
本页上的内容和代码示例受内容许可中描述的许可协议约束。Java 和 OpenJDK 是 Oracle 和/或其关联公司的商标或注册商标。
最后更新时间:2024-09-04 UTC。
[[["Easy to understand","easyToUnderstand","thumb-up"],["Solved my problem","solvedMyProblem","thumb-up"],["Other","otherUp","thumb-up"]],[["Missing the information I need","missingTheInformationINeed","thumb-down"],["Too complicated / too many steps","tooComplicatedTooManySteps","thumb-down"],["Out of date","outOfDate","thumb-down"],["Samples / code issue","samplesCodeIssue","thumb-down"],["Other","otherDown","thumb-down"]],["Last updated 2024-09-04 UTC."],[],[]]