pathfinding/errors/
my_errors.rs

1///
2/// MyError实现了:
3/// 1:Debug        -> 用来支持显示
4/// 2:Display      -> 用来支持显示
5/// 3:std::error::Error -> 说明自己是个Error类型
6///
7///
8
9///如果自定义一个MyTrait,然后想用系统的derive来自动对MyStruct实现MyTrait,那么就需要对MyTrait使用“派生宏”特性
10/// 可以参考serde库的Serialize与Deserialize
11use thiserror::Error;
12
13pub type RetErr = Box<dyn std::error::Error + Send + Sync>;
14pub type RetResult<T> = Result<T, RetErr>;
15
16#[derive(Error, Debug)] //让编译器自动实现Debug的trait(相当于接口)
17pub enum MyError {
18    #[error("地图{0}不存在")]
19    MapNotExist(i64),
20    #[error("系统错误:{0}")]
21    UnknownErr(String),
22}