Skip to main content

Module error

Module error 

Source
Expand description

Utilities for error propagation used across [frozen_core]

This module provides,

§Id

Each FrozenError uses a 32-bit identifier encoded in following format,

| module:8 | domain:8 | reason:16 |

This id packs important context which aids in the debugging process

§Example

use frozen_core::error::{FrozenError, FrozenResult, ErrCode};

fn read_file() -> FrozenResult<()> {
    Err(FrozenError::new(1, 2, ErrCode::new(0x0033, "io"), "read failed"))
}

let err = read_file().unwrap_err();

assert_eq!(err.id, 0x0102_0033);
assert!(err.context.contains("[io]"));

Structs§

ErrCode
Static error descriptor used to construct FrozenError
FrozenError
Utility for error propagation used across [frozen_core]

Type Aliases§

FrozenResult
Custom result type w/ FrozenError as error type