1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
use std::{error, fmt, result};
#[derive(Debug)]
pub enum Error {
Bounds,
ZeroFill,
Overflow,
Unmapped,
}
impl Error {
fn to_str(&self) -> &'static str {
match self {
Error::Bounds => "Error::Bounds 越界错误",
Error::ZeroFill => "Error::ZeroFill 零填充区错误",
Error::Overflow => "Error::Overflow 溢出错误",
Error::Unmapped => "Error::Unmapped 无法映射错误",
}
}
}
impl fmt::Display for Error {
fn fmt(&self, f: &mut fmt::Formatter) -> fmt::Result {
f.write_str(self.to_str())
}
}
impl error::Error for Error {}
pub type Result<T> = result::Result<T, Error>;