#[repr(transparent)]pub struct Error {
pub errno: i32,
}
Expand description
错误码有两种使用场景:
- 需要区分具体错误码: 比如底层
target
提供接口,需要调用者显示区分target
- 无需区分具体错误码: 一般有高层次,粗粒度的容错处理机制,错误码用于日志输出.
对于后一种场景,调用者决定日志输出方式,因此接口的返回值也多使用
Result<T, Error>
. 这里就会存在Error
具体取值的构造尽可能和Target
无关,因此为此场景定义了几个常用业务下需要使用到的错误码: - Error::inval
- Error::noent
- Error::perm
- Error::nomem
- Error::busy
- Error::timedout
- Error::general
借用
Target
定义的错误码来表达业务层的常见错误. 因为此场景并不鼓励基于具体错误码进行容错处理,因此并不提供对应的is_***
接口.
Fields§
§errno: i32
Implementations§
Trait Implementations§
Source§impl Ord for Error
impl Ord for Error
Source§impl PartialOrd for Error
impl PartialOrd for Error
impl Copy for Error
impl Eq for Error
impl StructuralPartialEq for Error
Auto Trait Implementations§
impl Freeze for Error
impl RefUnwindSafe for Error
impl Send for Error
impl Sync for Error
impl Unpin for Error
impl UnwindSafe for Error
Blanket Implementations§
Source§impl<T> BorrowMut<T> for Twhere
T: ?Sized,
impl<T> BorrowMut<T> for Twhere
T: ?Sized,
Source§fn borrow_mut(&mut self) -> &mut T
fn borrow_mut(&mut self) -> &mut T
Mutably borrows from an owned value. Read more