1# zlib子系统错误码 2<!--Kit: Ability Kit--> 3<!--Subsystem: BundleManager--> 4<!--Owner: @wanghang904--> 5<!--Designer: @hanfeng6--> 6<!--Tester: @kongjing2--> 7<!--Adviser: @Brilliantry_Rui--> 8 9> **说明:** 10> 11> 以下仅介绍本模块特有错误码,通用错误码请参考[通用错误码说明文档](../errorcode-universal.md)。 12 13## 900001 传入的源文件错误 14 15**错误信息** 16 17The input source file is invalid. 18 19**错误描述** 20 21当调用compressFile或decompressFile接口时,传入源文件无效。 22 23**可能原因** 24 25当调用compressFile接口时,传入的待压缩的文件不存在;当调用decompressFile接口时,传入的待解压缩的文件不存在。 26 27**处理步骤** 28 291. 检查源文件是否存在。 302. 检查源文件的后缀是否为.zip。 313. 检查待压缩的文件路径是否存在,并且路径是否在正确的沙箱路径下。 32 33## 900002 传入的目标文件错误 34 35**错误信息** 36 37The input destination file is invalid. 38 39**错误描述** 40 41当调用compressFile或decompressFile接口时,传入目标文件无效。 42 43**可能原因** 44 451. 当调用compressFile接口时,传入的目标文件路径无效,如不存在的沙箱路径。 462. 当调用decompressFile接口时,传入的目标目录不存在。 47 48**处理步骤** 49 501. 检查目标文件路径是否正确,如果不正确,填写正确的沙箱路径。 512. 检查目标文件目录是否存在,如果不存在,新建这个路径。 52 53## 900003 传入的源文件格式错误或者已损坏 54 55**错误信息** 56 57The input source file is not in ZIP format or is damaged. 58 59**错误描述** 60 61当调用decompressFile接口时,传入源文件的压缩格式有误或者已损坏。 62 63 64**可能原因** 65 661. 当调用decompressFile接口时,传入的源文件压缩格式有误。 672. 当调用decompressFile接口时,传入的源文件不完整或已损坏。 68 69**处理步骤** 70 711. 检查源文件压缩格式是否为ZIP格式。 722. 检查源文件是否完整,如果是网络下载的,需要确保文件下载完成后再调用decompress接口。 73 74## 17800002 传入的文件或访问模式错误 75 76**错误信息** 77 78No such file or access mode error. 79 80**错误描述** 81 82当调用gzopen或gzdopen接口时,传入的文件路径、文件描述符或文件访问模式错误。 83 84**可能原因** 85 861. 当调用gzopen接口时,传入的文件路径或文件访问模式错误。 872. 当调用gzdopen接口时,传入的文件描述符或文件访问模式错误。 88 89**处理步骤** 90 911. 检查gz文件路径或文件描述符是否正确,如果是新建gz文件的操作,需要确保文件访问模式为压缩模式(w或wb等)。 922. 检查文件访问模式,是否为"w"、"wb"、"r"、"rb"、"a"、"ab"等。 93 94## 17800004 压缩流或解压流错误 95 96**错误信息** 97 98Compression or decompression stream error, which may be caused by an initialization error in the zlib stream structure or a modified structure. 99 100**错误描述** 101 102当调用deflate或inflate等接口时,压缩流或解压流发生错误。 103 104**可能原因** 105 1061. 当调用deflate或inflate等接口时,未先使用deflateInit或inflateInit接口对压缩或解压流进行初始化。 1072. 当调用gzsetparams、gzclose或gzflush等接口时,传入的刷新模式错误或接口调用前,调用打开gz文件的相关接口时传入的文件访问模式错误。 108 109**处理步骤** 110 1111. 当调用deflate或inflate等接口前,先使用deflateInit或inflateInit接口对压缩或解压流进行初始化。 1122. 检查接口调用前,打开gz文件的相关接口是否未被调用或调用失败。 1133. 检查接口调用前,调用打开gz文件的相关接口时传入的访问模式是否与该接口匹配。例如gzprintf属于压缩操作接口,调用打开gz文件的相关接口时传入的访问模式需要为压缩模式(w或wb等)。 1144. 检查传入的枚举参数是否正确。 115 116## 17800005 传入的数据错误 117 118**错误信息** 119 120The input data is incorrect. For example, the data does not conform to the zlib compression format, the compressed data is corrupted, or the data is not compressed. 121 122**错误描述** 123 124当调用uncompress或uncompress2等接口时,传入的数据错误。 125 126**可能原因** 127 128当调用uncompress或uncompress2接口时,未先使用compress接口进行压缩。 129 130**处理步骤** 131 132先使用compress进行压缩后再通过uncompress2或uncompress进行解压。 133 134## 17800006 内存分配失败错误 135 136**错误信息** 137 138Memory allocation failed. 139 140**错误描述** 141 142当调用gzclose或gzclosew接口时,内存分配失败。 143 144**可能原因** 145 146在调用gzclose或gzclosew接口前,调用了gzsetparams接口,传入错误的压缩级别或压缩策略。 147 148**处理步骤** 149 150检查gzsetparams接口的调用,传入正确的压缩级别和压缩策略。 151 152## 17800007 传入的缓冲区错误 153 154**错误信息** 155 156The input buffer is incorrect, and the output buffer is too small to accommodate the compressed or decompressed data. 157 158**错误描述** 159 160当调用compress或compress2或uncompress或uncompress2接口时,传入的缓冲区错误。 161 162**可能原因** 163 1641. 当调用uncompress或uncompress2接口时,传入的输入buffer大小大于解压后输出buffer的大小。 1652. 当调用compress或compress2接口时,传入的输入buffer大小大于压缩后输出buffer的大小。 1663. 当调用compress或compress2或uncompress或uncompress2接口,传入的buffer大小为0。 167 168**处理步骤** 169 170增大对应buffer的大小。 171 172## 17800009 内部结构错误 173 174**错误信息** 175 176Internal structure error. 177 178**错误描述** 179 180当调用gzputc、gzwrite、gzread等接口时,传入的参数错误或接口调用前,调用打开gz文件的相关接口时传入的文件访问模式错误。 181 182**可能原因** 183 1841. 当调用接口前,打开gz文件的相关接口未被调用或调用失败。 1852. 当调用接口前,调用打开gz文件的相关接口时传入的文件访问模式错误。 1863. 当调用gzwrite接口时,传入的未压缩字节长度为0。 1874. 当调用gzfwrite或gzfread接口时,传入的数据块大小或数量为0。 1885. 当调用gzprintf接口时,传入的格式化描述符和纯文本为空字符串。 1896. 当调用gzgets接口时,传入空的ArrayBuffer。 1907. 当调用gzgetc接口时,gz文件为空文件。 191 192**处理步骤** 193 1941. 检查接口调用前,打开gz文件的相关接口是否未被调用或调用失败。 1952. 检查接口调用前,调用打开gz文件的相关接口时传入的访问模式是否与该接口匹配。例如gzgetc属于解压缩操作接口,调用打开gz文件的相关接口时传入的访问模式需要为解压缩模式(r或rb等)。 1963. 检查传入的参数是否正确。