1 个稳定版本
1.0.0 | 2023 年 7 月 23 日 |
---|
#2224 在 Rust 模式
6KB
tiny-error
一个用于错误处理的微型库。它可以将 Error
特性的项目转换为它们的消息,从而实现易于传播。
示例
use tiny_error::ErrorMessage;
use std::{
env,
fs,
path::PathBuf,
};
fn main() -> Result<(), ErrorMessage> {
// Text when failed:
// Error: Invalid input
// Correct Usage: `[crate_name] example/file/path.txt`
let path = get_path()?;
// Text when failed:
// Error: No such file or directory (os error 2)
let file = fs::read_to_string(path)?;
Ok(())
}
// Gets the first argument passed. If none or more were, returns an
// `ErrorMessage`.
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`"
))
}