5 个版本
0.1.4 | 2022 年 7 月 25 日 |
---|---|
0.1.3 | 2022 年 7 月 24 日 |
0.1.2 | 2022 年 7 月 24 日 |
0.1.1 | 2022 年 7 月 24 日 |
0.1.0 | 2022 年 7 月 24 日 |
#2236 in Rust 模式
6KB
rust-error-utils
一些用于简化常见错误处理模式的 Rust 宏集合。
用法
添加到 Cargo.toml
[dependencies.error-utils]
git = "https://gitlab.com/robert-oleynik/rust-error-utils.git"
handle_err
宏
use error_utils::handle_err;
use std::path::Path;
fn read_file<P: AsRef<Path>>(path: P) -> std::io::Result<()> {
let content = handle_err!(std::fs::read_string(path), err => {
eprintln!("{}", err);
return Err(err);
})
// ...
}
查看 文档
fail
宏
是 std::process::exit
的缩写
fail!();
// or
fail!(10);
查看 文档
Errors
派生宏
此宏需要
derive
功能。(默认启用)
注意:此示例使用了 toml
包。
use std::path::Path;
use error_utils::Errors;
#[derive(Debug, Errors)]
enum ConfigError {
#[error("Failed to read config file (Reason: {})", from)]
Io(std::io::Error),
#[error("Failed to parse config file (Reason: {})", from)]
Toml(toml::de::Error)
}
fn read_config<P: AsRef<Path>>(path: P) -> Result<toml::Value, ConfigError> {
let content = std::fs::read_to_string(path)?;
Ok(toml::from_str(&content)?)
}
查看 文档
许可证
本项目受 MIT
许可证保护。查看 LICENSE
依赖关系
~220KB