Expand description
The expect! macro
This crate adds the expect! macro, which is basically just calling
.expect on your type but also:
- Includes the exact line number of the error
- Allows you to specify a custom error message with formatting.
- Lazy evaluates error conditions (unlike
result.expect(&format!(...)))
This gives you panic messages like this:
thread 'example' panicked at '"expect error"', src/lib.rs:5:5As opposed to:
thread 'example' panicked at 'called `Result::unwrap()` on an `Err` value: "expect error"', libcore/result.rs:945:5§Alternatives
If you need to include the Err in a custom error message then do this instead:
ⓘ
let result = Err("expect error");
result.unwrap_or_else(|err| panic!("Got {} but expected 42", err));Macros§
- expect
- Unwrap a result or
panic!with a message.
Traits§
- Into
Result - Used to ensure either
OptionorResultare theResulttype.