状态管理错误码
说明:
以下仅介绍本模块特有错误码,通用错误码请参考通用错误码。
130000 addMonitor/clearMonitor非法目标对象
错误信息
The target is not a custom component instance or V2 class instance.
错误描述
addMonitor/clearMonitor的目标对象参数不合法。
可能原因
目标对象不满足以下情况:
- @ObservedV2装饰的class(至少有一个@Trace装饰的变量)。
- @ComponentV2装饰的自定义组件的实例。
处理步骤
确保addMonitor/clearMonitor的目标对象合法,详情请参见addMonitor/clearMonitor开发指南。
130001 addMonitor/clearMonitor非法路径
错误信息
The path is invalid.
错误描述
addMonitor/clearMonitor的路径参数不合法。
可能原因
路径不是string或者不是数组类型。
处理步骤
确保addMonitor/clearMonitor的路径合法,详情可见addMonitor/clearMonitor开发指南。
130002 addMonitor/clearMonitor非法回调方法
错误信息
monitorCallback is not a function or an anonymous function.
错误描述
addMonitor/clearMonitor的回调方法参数不合法。
可能原因
回调方法不是function类型,或者是匿名function。
处理步骤
确保addMonitor/clearMonitor的回调方法合法,详情可见addMonitor/clearMonitor开发指南。
140001 applySync/flushUpdates/flushUIUpdates非法调用
错误信息
The function is not allowed to be called in @Computed.
错误描述
applySync/flushUpdates/flushUIUpdates接口在@Computed装饰的getter方法内调用是不合法的。
可能原因
applySync/flushUpdates/flushUIUpdates接口在@Computed装饰的getter方法内被调用。
处理步骤
确保在@Computed装饰的getter方法内没有调用applySync/flushUpdates/flushUIUpdates接口。
140002 flushUpdates/flushUIUpdates非法调用
错误信息
The function is not allowed to be called in @Monitor.
错误描述
flushUpdates/flushUIUpdates接口在@Monitor回调方法内调用是不合法的。
可能原因
flushUpdates/flushUIUpdates接口在@Monitor回调方法内被调用。
处理步骤
确保在@Monitor回调方法内没有调用flushUpdates/flushUIUpdates接口。
140103 AppStorageV2和PersistenceV2使用不支持的数据类型
错误信息
Not supported type! The type should have function constructor signature.
错误描述
使用AppStorageV2的connect或PersistenceV2的connect和globalConnect时,type参数类型不合法。
可能原因
使用AppStorageV2的connect或PersistenceV2的connect和globalConnect时,type参数类型不是TypeConstructorWithArgs<T>类型。
处理步骤
确保connect/globalConnect传入type类型是TypeConstructorWithArgs<T>类型,具体支持类型见PersistenceV2使用限制和AppStorageV2使用限制。
140104 AppStorageV2和PersistenceV2使用非法的默认值创建函数
错误信息
The default creator should be function when first connect.
错误描述
使用AppStorageV2的connect或PersistenceV2的connect和globalConnect时,defaultCreator默认数据的构造器不是StorageDefaultCreator<T>。
可能原因
defaultCreator不是StorageDefaultCreator<T>类型。
处理步骤
确保connect/globalConnect传入的defaultCreator为StorageDefaultCreator<T>类型。以globalConnect为例,示例请参考globalConnect示例。
140105 PersistenceV2混用connect和globalConnect并使用相同的key
错误信息
ERROR, Duplicate key used when connect
错误描述
connect和globalConnect使用相同的key。
可能原因
connect和globalConnect使用了相同的key。
处理步骤
connect和globalConnect不建议混用,如果开发者需要混用,则要保证这两个接口不能使用相同的key,详情见PersistenceV2使用限制。
140106 使用PersistenceV2存储数据到不支持的加密级别
错误信息
AreaMode Value Error! value range can only in EL1-EL5
错误描述
使用PersistenceV2的globalConnect存储数据设置的加密级别不在EL1-EL5范围内。
可能原因
设置globalConnect参数ConnectOptions的areaMode属性范围不在EL1-EL5内。
处理步骤
设置存储范围为EL1-EL5,示例请参考使用globalConnect存储数据。
140107 AppStorageV2和PersistenceV2数据类型不匹配
错误信息
The type of target mismatches the type of source.
错误描述
使用AppStorageV2的connect或PersistenceV2的connect和globalConnect时,发生类型不匹配错误。
可能原因
- type类型和defaultCreator返回类型不一致。
- 开发者修改了持久化的数据结构,导致重新从磁盘里读取数据到内存中时,发生类型不匹配。该情况仅通过日志上报错误码,不会抛出运行时异常。
处理步骤
- type类型和defaultCreator返回类型一致。
- 需要保证数据持久化前后类型不变。如果要改变类型,需要手动卸载应用,清空当前应用的持久化的数据,并再次安装。
140108 PersistenceV2缺少类型参数
错误信息
Miss @Type.
错误描述
PersistenceV2的globalConnect时,缺少@Type装饰器。
可能原因
使用globalConnect接口持久化数据时,持久化的数据类型缺少@Type装饰器。该错误码通过日志上报,不会抛出运行时异常。
处理步骤
确保globalConnect持久化复杂类型时,用@Type装饰类名。
140109 @Builder非法触发参数属性赋值
错误信息
@Builder: Invalid attempt to set(write to) parameter error!
错误描述
在@Builder装饰的函数内部修改入参属性。
可能原因
在@Builder装饰的函数内部修改入参属性,详情见@Builder限制条件。
处理步骤
不在@Builder装饰的函数内部修改入参内容,可使用MutableBinding代替,示例请参考在@Builder装饰的函数内部修改入参内容。
140110 在UI中使用非@Track装饰的属性发生运行时报错
错误信息
Illegal usage of not @Track'ed property on UI!
错误描述
如果类里中一个@Track装饰的属性,则禁止在UI中使用该类中未被@Track装饰的属性。
可能原因
将有@Track装饰类中的未被@Track装饰的属性绑定在UI上,详情见@Track限制条件。
处理步骤
给报错的属性也加上@Track装饰器装饰,例子见在UI中使用非@Track装饰的属性发生运行时报错。
140112 @Consume缺失对应的@Provide
错误信息
@Consume missing @Provide property with name or default value. Fail to resolve @Consume.
错误描述
@Consume初始化失败,@Consume没有找到匹配的@Provide数据源,且开发者没有提供@Consume默认值。
可能原因
@Consume寻找@Provide失败,一般有以下两种原因:
- @Consume所在组件的父组件没有定义相同key的@Provide,且@Consume没有设置默认值,导致@Consume初始化失败。
- @Consume向上查找定义@Provide所在组件时,其父组件或祖先节点已被销毁,导致@Consume查找失败。
处理步骤
- 确保初始化@Consume时,其父组件上存在相同key的@Provide变量,或设置默认值,示例见@Consume限制条件。
- 确保创建@Consume所在组件时,父组件及其祖先节点生命周期未结束,即aboutToDisappear未调用。
140113 复用@ComponentV2自定义组件但工具链版本过低
错误信息
Old toolchain detected. Please upgrade to the latest.
错误描述
从API version 23开始,支持@Reusable(父组件)中创建@ComponentV2(子组件),但需要开发者使用API version 18及以上SDK,详情见@ReusableV2使用限制。
可能原因
从API version 18开始,支持@Reusable(父组件)和@ComponentV2(子组件)混用,开发者使用了API version 18及以上的设备,但没有使用API version 18及以上的SDK版本编译,所以运行时报错,提醒开发者SDK版本过低。
处理步骤
使用API version 18及以上的SDK编译应用。
140114 声明重复key的@Provide
错误信息
duplicate @Provide property. Property with this name is provided by one of the ancestor Views already.
错误描述
在同一个组件、父组件或其祖先节点中,存在声明了相同的key的@Provide,详情见@Provide限制条件。
可能原因
在同一个组件、父组件或其祖先节点中,存在声明了相同的key的@Provide。
处理步骤
保证在同一个组件,包括其父组件和其祖先节点中,@Provide的key不同。或将相同key的@Provide设置为allowOverride,示例见@Provide支持allowOverride参数。
140115 状态管理V1状态变量使用了非法的类型
错误信息
Illegal variable value error with decorated variable
错误描述
创建状态管理V1状态变量时,使用了不支持的类型。
可能原因
使用V1状态变量装饰器装饰的类型不合法。
处理步骤
使用状态管理V1的状态变量支持的类型,以@State为例,详情见@State装饰器使用规则说明。
140116 AppStorageV2使用非法的key
错误信息
The key is invalid, key must be string or TypeConstructorWithArgs type.
错误描述
使用AppStorageV2、PersistenceV2的remove接口和PersistenceV2的save接口传入key不合法。
可能原因
key不是string或TypeConstructorWithArgs<T>类型。
处理步骤
确保调用AppStorageV2、PersistenceV2的remove接口和PersistenceV2的save接口时传入的key参数为string或TypeConstructorWithArgs<T>类型。
你可能感兴趣的鸿蒙文章
openharmony 鸿蒙 arkts-apis-uicontext-contextmenucontroller
openharmony 鸿蒙 errorcode-canvas
openharmony 鸿蒙 capi-oh-nativexcomponent-native-xcomponent-oh-nativexcomponent
openharmony 鸿蒙 errorcode-bindSheet
openharmony 鸿蒙 js-apis-arkui-uiExtension-sys
openharmony 鸿蒙 capi-arkui-accessibility-arkui-accessibilityeventinfo
openharmony 鸿蒙 capi-arkui-rendernodeutils
openharmony 鸿蒙 capi-native-node-h-nodeattributetype-layoutcomponent