utils-results-1.1.0 has been yanked.
utils-results
The easiest and most intuitive error handling solution.

| Docs |
Overview
First, You should make your own an error set.
err! {
BrokenHeader => "broken header."
AnotherHeader => "not matched header."
FileNotFound => "file not found."
EmptyArgument => "empty argument."
UnexpectedEof => "unexpected eof."
OutOfBounds => "index out of bounds."
NotMatched => "btw not matched."
}
And just errbang!
errbang!(err:BrokenHeader)
More Examples
fn foo() -> Result<bool> { let bar = 2;
match bar {
0 => Ok(true),
1 => Ok(false),
_ => errbang!(err::NotMatched, "{} is {}", "bar", bar),
}
}
fn main() -> Result<()> {
let _is_bar_zero = foo()?;
}
errbang!(err::MyError1);
errbang!(err::MyError2, "cannot find.");
errbang!(err::MyError3, "{} is {}", "bar", 2);
- Please use our Master Result<T> and ResultSend<T>
instead std::result::Result or io::Result etc..