tiny-error
A tiny crate for error handling. It is able to convert items of the
Error trait into
their messages, allowing for easy propagation.
Examples
use tiny_error::ErrorMessage;
use std::{
env,
fs,
path::PathBuf,
};
fn main() -> Result<(), ErrorMessage> {
let path = get_path()?;
let file = fs::read_to_string(path)?;
Ok(())
}
fn get_path() -> Result<PathBuf, ErrorMessage> {
let mut args = env::args().skip(1);
let arg = args.next().filter(|_| args.next().is_none());
arg
.map(|input| input.into())
.ok_or_else(|| ErrorMessage::new(
"Invalid input\n\
Correct Usage: `[crate_name] example/file/path.txt`"
))
}