捕获和处理异常
使用集合保持井井有条 根据您的偏好保存和分类内容。
当遇到问题时,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。
[{ "type": "thumb-down", "id": "missingTheInformationINeed", "label":"缺少我需要的信息" },{ "type": "thumb-down", "id": "tooComplicatedTooManySteps", "label":"太复杂/步骤太多" },{ "type": "thumb-down", "id": "outOfDate", "label":"已过时" },{ "type": "thumb-down", "id": "samplesCodeIssue", "label":"示例/代码问题" },{ "type": "thumb-down", "id": "otherDown", "label":"其他" }]
[{ "type": "thumb-up", "id": "easyToUnderstand", "label":"易于理解" },{ "type": "thumb-up", "id": "solvedMyProblem", "label":"解决了我的问题" },{ "type": "thumb-up", "id": "otherUp", "label":"其他" }]
{ "lastModified": "最后更新于 2024-09-04 UTC.", "confidential": False }