pub struct FrozenError {
pub id: u32,
pub context: String,
}Expand description
Utility for error propagation used across [frozen_core]
Fields§
§id: u32Encoded 32-bit unique identifier for FrozenError
context: StringError context for the FrozenError
Implementations§
Source§impl FrozenError
impl FrozenError
Sourcepub fn new(module: u8, domain: u8, code: ErrCode, errmsg: &str) -> Self
pub fn new(module: u8, domain: u8, code: ErrCode, errmsg: &str) -> Self
Construct a new FrozenError
§Example
use frozen_core::error::{FrozenError, ErrCode};
let err = FrozenError::new(1, 2, ErrCode::new(0x0033, "io"), "failed to read file");
assert_eq!(err.id, 0x0102_0033);
assert!(err.context.contains("[io]"));
assert!(err.context.contains("failed to read file"));Sourcepub fn new_raw<E: Display>(
module: u8,
domain: u8,
code: ErrCode,
err: E,
) -> Self
pub fn new_raw<E: Display>( module: u8, domain: u8, code: ErrCode, err: E, ) -> Self
Construct a new FrozenError from raw [Error] object
§Example
use frozen_core::error::{FrozenError, ErrCode};
let io_err = std::io::Error::new(std::io::ErrorKind::NotFound, "file missing");
let err = FrozenError::new_raw(1, 2, ErrCode::new(0x0033, "io"), io_err);
assert_eq!(err.id, 0x0102_0033);
assert!(err.context.contains("[io]"));
assert!(err.context.contains("file missing"));Sourcepub fn compare_id(&self, err: &FrozenError) -> bool
pub fn compare_id(&self, err: &FrozenError) -> bool
Compare two errors by their encoded id’s
§Example
use frozen_core::error::{FrozenError, ErrCode};
let err1 = FrozenError::new(0, 0, ErrCode::new(0x30, "test"), "something failed");
let err2 = FrozenError::new(0, 0, ErrCode::new(0x30, "test"), "another message");
assert!(err1.compare_id(&err2));Trait Implementations§
Source§impl Clone for FrozenError
impl Clone for FrozenError
Source§fn clone(&self) -> FrozenError
fn clone(&self) -> FrozenError
Returns a duplicate of the value. Read more
1.0.0 (const: unstable) · Source§fn clone_from(&mut self, source: &Self)
fn clone_from(&mut self, source: &Self)
Performs copy-assignment from
source. Read moreAuto Trait Implementations§
impl Freeze for FrozenError
impl RefUnwindSafe for FrozenError
impl Send for FrozenError
impl Sync for FrozenError
impl Unpin for FrozenError
impl UnsafeUnpin for FrozenError
impl UnwindSafe for FrozenError
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