5 个版本
0.2.3 | 2023年1月30日 |
---|---|
0.2.2 | 2022年11月4日 |
0.2.1 | 2022年5月31日 |
0.2.0 | 2022年2月28日 |
0.1.0 | 2021年8月15日 |
#6 in #nydus
38 月下载量
在 5 个crate中使用 (直接使用 3)
11KB
173 代码行(不含注释)
nydus-error
nydus-error
crate 是一个用于处理 Nydus 图像服务项目错误码的辅助工具集合,它提供
macro define_error_macro!()
以可选方式增强 Posix errno 的回溯信息。macro einval!(), enoent!()
等常用错误码。struct ErrorHolder
提供一个循环缓冲区来存储最新的错误消息。
支持
平台:
- x86_64
- aarch64
操作系统:
- Linux
使用
将 nydus-error
添加到 Cargo.toml
的依赖项中
[dependencies]
nydus-error = "*"
如果需要,请将 extern crate nydus-error;
添加到您的 crate 根目录中。
示例
- 返回带回溯信息的错误
fn check_size(size: usize) -> std::io::Result<()> {
if size > 0x1000 {
return Err(einval!());
}
Ok(())
}
- 将错误消息放入一个
ErrorHolder
对象中。
fn record_error(size: usize) {
let mut holder = ErrorHolder::new(10, 80);
let error_msg = "123456789";
let r = holder.push(error_msg);
assert_eq!(r.is_ok(), true);
let _msg = holder.export().unwrap();
}
许可
此代码受 Apache-2.0 或 BSD-3-Clause 许可证的保护。
依赖项
~3–5MB
~107K SLoC