1个稳定版本
使用旧的Rust 2015
1.0.1 | 2016年2月7日 |
---|
#7 在 #rustc-serialize
11KB
156 行
ErrorSer
在Rust中序列化&Error值的一种简单技巧,使用serde或rustc-serialize。
请注意,由于错误序列化的方式,一些具有副作用等的自定义错误可能会被错误地序列化,而是给出在序列化时为真的描述和原因,而不是当前为真的内容。这对于大多数用途来说是可以的,但在序列化更不明显错误时可能会引起意外的行为。
#链接
TODO:当这些内容存在时实际链接到这些内容。
文档
Crates.io
#示例
use errorser::{deserialize_error_string, serialize_error_string};
let error = error_prone_function();
let string = serialize_error_string(&error);
let pseudoerror = deserialize_error_string(&string).unwrap();
lib.rs
:
序列化和伪反序列化实现了Error特质的结构体。这只有在你知道你永远不会需要实际的错误值,只需要描述和原因的情况下才应该进行。
此crate假设错误描述是完整的,并且可以指示正在发生的错误。也无法获取与错误相关的任何值,因为那将需要真正序列化任意结构体,实现你没有创建的特质。
依赖项
~4MB
~105K SLoC