1# zlib子系统错误码
2
3> **说明:**
4>
5> 以下仅介绍本模块特有错误码,通用错误码请参考[通用错误码说明文档](../errorcode-universal.md)。
6
7## 900001 传入的源文件错误
8
9**错误信息**
10
11The input source file is invalid.
12
13**错误描述**
14
15当调用compressFile或decompressFile接口时,传入源文件无效。
16
17**可能原因**
18
19当调用compressFile接口时,传入的待压缩的文件不存在;当调用decompressFile接口时,传入的待解压缩的文件不存在。
20
21**处理步骤**
22
231. 检查源文件是否存在。
242. 检查源文件的后缀是否为.zip。
253. 检查待压缩的文件路径是否存在,并且路径是否在正确的沙箱路径下。
26
27## 900002 传入的目标文件错误
28
29**错误信息**
30
31The input destination file is invalid.
32
33**错误描述**
34
35当调用compressFile或decompressFile接口时,传入目标文件无效。
36
37**可能原因**
38
391. 当调用compressFile接口时,传入的目标文件路径无效,如不存在的沙箱路径。
402. 当调用decompressFile接口时,传入的目标目录不存在。
41
42**处理步骤**
43
441. 检查目标文件路径是否正确,如果不正确,填写正确的沙箱路径。
452. 检查目标文件目录是否存在,如果不存在,新建这个路径。
46
47## 900003 传入的源文件格式错误或者已损坏
48
49**错误信息**
50
51The input source file is not in ZIP format or is damaged.
52
53**错误描述**
54
55当调用decompressFile接口时,传入源文件的压缩格式有误或者已损坏。
56
57
58**可能原因**
59
601. 当调用decompressFile接口时,传入的源文件压缩格式有误。
612. 当调用decompressFile接口时,传入的源文件不完整或已损坏。
62
63**处理步骤**
64
651. 检查源文件压缩格式是否为ZIP格式。
662. 检查源文件是否完整,如果是网络下载的,需要确保文件下载完成后再调用decompress接口。
67
68## 17800002 传入的文件或访问模式错误
69
70**错误信息**
71
72No such file or access mode error.
73
74**错误描述**
75
76当调用gzopen或gzdopen接口时,传入的文件路径、文件描述符或文件访问模式错误。
77
78**可能原因**
79
801. 当调用gzopen接口时,传入的文件路径或文件访问模式错误。
812. 当调用gzdopen接口时,传入的文件描述符或文件访问模式错误。
82
83**处理步骤**
84
851. 检查gz文件路径或文件描述符是否正确,如果是新建gz文件的操作,需要确保文件访问模式为压缩模式(w或wb等)。
862. 检查文件访问模式,是否为"w"、"wb"、"r"、"rb"、"a"、"ab"等。
87
88## 17800004 压缩流或解压流错误
89
90**错误信息**
91
92ZStream error.
93
94**错误描述**
95
96当调用deflate或inflate等接口时,压缩流或解压流发生错误。
97
98**可能原因**
99
1001. 当调用deflate或inflate等接口时,未先使用deflateInit或inflateInit接口对压缩或解压流进行初始化。
1012. 当调用gzsetparams、gzclose或gzflush等接口时,传入的刷新模式错误或接口调用前,调用打开gz文件的相关接口时传入的文件访问模式错误。
102
103**处理步骤**
104
1051. 当调用deflate或inflate等接口前,先使用deflateInit或inflateInit接口对压缩或解压流进行初始化。
1062. 检查接口调用前,打开gz文件的相关接口是否未被调用或调用失败。
1073. 检查接口调用前,调用打开gz文件的相关接口时传入的访问模式是否与该接口匹配。例如gzprintf属于压缩操作接口,调用打开gz文件的相关接口时传入的访问模式需要为压缩模式(w或wb等)。
1084. 检查传入的枚举参数是否正确。
109
110## 17800005 传入的数据错误
111
112**错误信息**
113
114Data error.
115
116**错误描述**
117
118当调用uncompress或uncompress2等接口时,传入的数据错误。
119
120**可能原因**
121
122当调用uncompress或uncompress2接口时,未先使用compress接口进行压缩。
123
124**处理步骤**
125
126先使用compress进行压缩后再通过uncompress2或uncompress进行解压。
127
128## 17800006 内存分配失败错误
129
130**错误信息**
131
132Memory allocation failed.
133
134**错误描述**
135
136当调用gzclose或gzclosew接口时,内存分配失败。
137
138**可能原因**
139
140在调用gzclose或gzclosew接口前,调用了gzsetparams接口,传入错误的压缩级别或压缩策略。
141
142**处理步骤**
143
144检查gzsetparams接口的调用,传入正确的压缩级别和压缩策略。
145
146## 17800007 传入的缓冲区错误
147
148**错误信息**
149
150Buffer error.
151
152**错误描述**
153
154当调用compress或compress2或uncompress或uncompress2接口时,传入的缓冲区错误。
155
156**可能原因**
157
1581. 当调用uncompress或uncompress2接口时,传入的输入buffer大小大于解压后输出buffer的大小。
1592. 当调用compress或compress2接口时,传入的输入buffer大小大于压缩后输出buffer的大小。
1603. 当调用compress或compress2或uncompress或uncompress2接口,传入的buffer大小为0。
161
162**处理步骤**
163
164增大对应buffer的大小。
165
166## 17800009 内部结构错误
167
168**错误信息**
169
170Internal structure error.
171
172**错误描述**
173
174当调用gzputc、gzwrite、gzread等接口时,传入的参数错误或接口调用前,调用打开gz文件的相关接口时传入的文件访问模式错误。
175
176**可能原因**
177
1781. 当调用接口前,打开gz文件的相关接口未被调用或调用失败。
1792. 当调用接口前,调用打开gz文件的相关接口时传入的文件访问模式错误。
1803. 当调用gzwrite接口时,传入的未压缩字节长度为0。
1814. 当调用gzfwrite或gzfread接口时,传入的数据块大小或数量为0。
1825. 当调用gzprintf接口时,传入的格式化描述符和纯文本为空字符穿串。
1836. 当调用gzgets接口时,传入空的ArrayBuffer。
1847. 当调用gzgetc接口时,gz文件为空文件。
185
186**处理步骤**
187
1881. 检查接口调用前,打开gz文件的相关接口是否未被调用或调用失败。
1892. 检查接口调用前,调用打开gz文件的相关接口时传入的访问模式是否与该接口匹配。例如gzgetc属于解压缩操作接口,调用打开gz文件的相关接口时传入的访问模式需要为解压缩模式(r或rb等)。
1903. 检查传入的参数是否正确。