2 个版本
0.1.1 | 2020 年 3 月 23 日 |
---|---|
0.1.0 | 2020 年 3 月 22 日 |
#2151 in 数据结构
12KB
181 行
字符串错误类型。
此包包含一个类型 StringError
,用于向用户报告顶级错误,例如在执行 main
时在二进制文件中。
示例
use std::{io::Read, error::Error};
use string_err::{StringError, ResultExt};
pub fn main() -> Result<(), StringError<Box<dyn Error>>> {
let mut file = std::fs::File::open("README.md")
.map_err_msg("Could not open the file")?;
let mut contents = String::new();
file.read_to_string(&mut contents)
.map_err_msg("Could not read the file")?;
assert!( contents.starts_with("String error type.") );
// ... Do something with `num`
Ok(())
}
此示例尝试加载 README.md
文件,读取它并确保它以字符串 "字符串错误类型."
开头(这正是本说明书的做法)。
有关如何使用 StringError
类型的更多详细信息,请参阅 文档
lib.rs
:
字符串错误类型
此包提供了一个字符串错误类型,StringError
,它可能还具有底层的错误和回溯。这对于需要仅向用户显示顶级错误而不在代码中描述错误的二进制文件非常有用。
如果指定了底层错误类型为 Box<dyn Error + 'static>
,则它还可以用作 main 的返回类型。
此包目前使用各种 nightly
功能来实现字符串错误类型。即使使用的功能已经稳定,此包也可能继续使用其他夜间功能,因为此包旨在与仅二进制文件一起使用。这些二进制文件本身可以轻松使用 nightly
,而不会影响与其一起构建的库。