[−][src]Module balena_temen::error
Error handling
A module allowing us to create more detailed, context aware, errors.
Examples
Result chaining example.
use balena_temen::error::*; fn eval_as_number() -> Result<()> { Err(Error::with_message("unable to evaluate as a number") .context("value", "some value") .context("expected", "number")) } fn eval_math() -> Result<()> { Ok(eval_as_number() .frame_with(|| "eval_math".into()) .context_with(|| ("rhs".to_string(), "`23`".to_string()))?) } fn eval() -> Result<()> { Ok(eval_math().frame_with_name("eval").context("expression", "1 = `23`")?) } eprintln!("{}", eval().err().unwrap());
Printed error:
temen: unable to evaluate as a number
├ frame[0]
| └ context:
| ├ value: some value
| └ expected: number
├ frame[1]: eval_math
| └ context:
| └ rhs: `23`
└ frame[2]: eval
└ context:
└ expression: 1 = `23`
Structs
Error | Error type |
Traits
ResultExt | Result extension |
Type Definitions
Result | Standard library result wrapper |