simple-error
simple-error is a Rust library that provides a simple Error type backed by a String. It is best used when all you care about the error is an error string.
Usage
To use simple-error, first add this to your Cargo.toml:
[]
= "0.3"
Then import what you use (Rust 2018/2021):
use ;
// Add others as needed: require_with, ensure_with, bail, simple_error, map_err_with
Now you can use simple-error in different ways:
You can use it simply as a string error type:
You can use it to replace all error types if you only care about a string description:
Or you can chain all the errors, and get a complete error description at the top level:
// This prints out "cannot watch tv, tv remote not found, failed to open remote file, Text file busy" if the error is text file busy.
You can also ensure a condition holds and early-return a SimpleError if it does not:
use ;
Macros
try_with!— unwrapResult, else returnSimpleError::with.require_with!— unwrapOption, else returnSimpleError::new.ensure_with!— assert boolean, else returnSimpleError::new.bail!— return early with aSimpleError(supports format/expr).simple_error!— construct aSimpleError(supports format/expr).map_err_with!— map aResult’s error with extra context.