json_packer/
error.rs

1use thiserror::Error as ThisError;
2
3#[derive(Debug, ThisError)]
4pub enum Error {
5    #[error("base64 解码失败: {0}")]
6    Base64Decode(#[from] base64::DecodeError),
7
8    #[error("UTF-8 错误: {0}")]
9    Utf8(#[from] std::string::FromUtf8Error),
10
11    #[error("非法浮点数 (NaN/Inf) 不被支持")] 
12    IllegalFloat,
13
14    #[error("位流越界")] 
15    BitstreamOutOfBounds,
16
17    #[error("Varint 溢出或截断")] 
18    VarintError,
19
20    #[error("魔数不匹配")] 
21    BadMagic,
22
23    #[error("版本不支持")] 
24    BadVersion,
25
26    #[error("Huffman 构建/解码错误")] 
27    HuffmanError,
28
29    #[error("值池缺失或未启用")] 
30    PoolMissing,
31
32    #[error("值池引用 ID 越界")] 
33    PoolIdOutOfRange,
34
35    #[error("未实现: {0}")] 
36    Unimplemented(&'static str),
37}
38