#序列化 #错误 #错误字符串 #特质 #结构体 #rustc-serialize #hack

nightly errorser

序列化和伪反序列化实现了Error特质的结构体

1个稳定版本

使用旧的Rust 2015

1.0.1 2016年2月7日

#7#rustc-serialize

MIT 许可证

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