1# 关键资产存储服务(ASSET)错误码
2
3> **说明:**
4>
5> 以下仅介绍本模块特有错误码,通用错误码请参考[通用错误码说明文档](../errorcode-universal.md)。
6
7## 24000001 关键资产服务不可用
8
9**错误信息**
10
11The ASSET service is unavailable.
12
13**可能原因**
14
15系统异常导致关键资产服务不可用。
16
17**处理步骤**
18
19重新发起关键资产处理请求。
20
21## 24000002 未找到关键资产
22
23**错误信息**
24
25The asset is not found.
26
27**可能原因**
28
291. 关键资产从未写入过。
302. 关键资产已经删除。
31
32**处理步骤**
33
341. 根据别名确认该关键资产是否已经写入过,或已经删除。
352. 重新写入关键资产,再访问该关键资产。
36
37## 24000003 关键资产已存在
38
39**错误信息**
40
41The asset already exists.
42
43**可能原因**
44
45已存在同别名(asset.Tag.ALIAS相同)的关键资产。
46
47**处理步骤**
48
49请先确认写入同别名的关键资产是否符合预期,如果不符合需排查别名是否错误,如果符合则可通过以下任意一种方式处理:
50
511. 先调用[asset.remove](js-apis-asset.md#assetremove)删除同别名的关键资产,再调用[asset.add](js-apis-asset.md#assetadd)重新写入。
522. 调用[asset.add](js-apis-asset.md#assetadd)时,指定参数asset.Tag.CONFLICT_RESOLUTION的值为asset.ConflictResolution.OVERWRITE
53
54## 24000004 拒绝访问关键资产
55
56**错误信息**
57
58Access to the asset is denied.
59
60**可能原因**
61
621. 在访问需要用户认证的关键资产前,用户认证失败。
63
642. 挑战值与授权令牌不匹配。
65
66**处理步骤**
67
681. 用户在访问需要用户认证的关键资产前,先进行用户认证。
69
702. 传递匹配的挑战值与授权令牌。
71
72## 24000005 锁屏状态不匹配
73
74**错误信息**
75
76The screen lock status does not match.
77
78**可能原因**
79
801. 在设备处于未设置锁屏密码的状态下,访问仅设置密码才允许访问的关键资产。
812. 在设备未完成首次解锁的状态下,访问仅首次解锁后才允许访问的关键资产。
823. 在设备未处于解锁状态下,访问仅解锁时才允许访问的关键资产。
83
84**处理步骤**
85
86设置锁屏密码或解锁后,再访问关键资产。
87
88## 24000006 系统内存不足
89
90**错误信息**
91
92Insufficient memory.
93
94**可能原因**
95
96系统内存不足。
97
98**处理步骤**
99
100关闭已打开的其他应用,重新发起处理请求。
101
102## 24000007 关键资产损坏
103
104**错误信息**
105
106The asset is corrupted.
107
108**可能原因**
109
110因设备掉电或存储系统异常导致的关键资产文件损坏。
111
112**处理步骤**
113
114恢复出厂设置。
115
116## 24000008 数据库操作失败
117
118**错误信息**
119
120The database operation failed.
121
122**可能原因**
123
1241. 用户尚未调用过add接口,进行asset数据库的创建,此时数据库还没创建出来,直接查询,会有该报错。
1252. 数据库访问异常。
126
127**处理步骤**
128
1291. 用户先调用add接口,将asset数据库创建出来之后再进行查询。
1302. 查看错误信息,排查数据库异常原因。
131
132## 24000009 算法库操作失败
133
134**错误信息**
135
136The cryptography operation failed.
137
138**可能原因**
139
140密码算法操作失败。
141
142**处理步骤**
143
144查看错误信息,排查算法库异常原因。
145
146## 24000010 进程通信错误
147
148**错误信息**
149
150IPC failed.
151
152**可能原因**
153
154进程通信错误。
155
156**处理步骤**
157
158查看错误信息,排查IPC通信异常原因。
159
160## 24000011 包管理服务异常
161
162**错误信息**
163
164Calling the Bundle Manager service failed.
165
166**可能原因**
167
168包管理服务异常。
169
170**处理步骤**
171
172查看错误信息,排查包管理服务异常原因。
173
174## 24000012 账号系统异常
175
176**错误信息**
177
178Calling the OS Account service failed.
179
180**可能原因**
181
182账号系统异常。
183
184**处理步骤**
185
186查看错误信息,排查账号系统异常原因。
187
188## 24000013 访问控制服务异常
189
190**错误信息**
191
192Calling the Access Token service failed.
193
194**可能原因**
195
196访问控制服务异常。
197
198**处理步骤**
199
200查看错误信息,排查访问控制服务异常原因。
201
202## 24000014 文件操作失败
203
204**错误信息**
205
206The file operation failed.
207
208**可能原因**
209
2101. 业务手动删除了设备中data/service/el1/public/asset_service某一级目录。
2112. 文件系统损坏。
212
213**处理步骤**
214
215重启设备,若仍未解决,请恢复出厂设置。
216
217## 24000015 获取系统时间失败
218
219**错误信息**
220
221Getting the system time failed.
222
223**可能原因**
224
225系统时间被篡改。
226
227**处理步骤**
228
229调整成正确的系统时间。
230
231## 24000016 缓存数量超限
232
233**错误信息**
234
235The cache exceeds the limit.
236
237**可能原因**
238
239业务调用[asset.preQuery](js-apis-asset.md#assetprequery)预查询后,没有通过[asset.postQuery](js-apis-asset.md#assetpostquery)释放资源。
240
241**处理步骤**
242
243业务调用[asset.preQuery](js-apis-asset.md#assetprequery)预查询后,通过[asset.postQuery](js-apis-asset.md#assetpostquery)释放资源。
244
245## 24000017 该子功能不支持
246
247**错误信息**
248
249The capability is not supported.
250
251**可能原因**
252
253支持API,但是不支持API内部某些子特性(功能),如批量查询关键资产明文。
254
255**处理步骤**
256
257调整API参数,使用可替代的调用方式,如多次调用API查询关键资产。