#error #json-error #serialization #serde #deserialize #serde-json #cdumay

cdumay_error

使用 serde 序列化和反序列化错误的库

3 个不稳定版本

0.3.0 2024年7月5日
0.2.1 2024年6月21日
0.2.0 2024年6月21日

#736 in 编码

每月下载量29
3 crates 中使用

BSD-3-Clause

11KB
173

cdumay_error 许可: BSD-3-Clause cdumay_error on crates.io cdumay_error on docs.rs 源代码仓库

cdumay_error 是一个基本的库,用于标准化错误并使用 serde 进行序列化。

快速入门

Cargo.toml:

[dependencies]
cdumay_error = "0.3"
serde_json = "1.0"

main.rs:

extern crate cdumay_error;
extern crate serde_json;

use cdumay_error::{ErrorBuilder, GenericErrors, JsonError};
use std::collections::BTreeMap;
use serde_json::Value;

fn main() {

    let err = ErrorBuilder::from(GenericErrors::GENERIC_ERROR)
        .message("This is a useless generic error.".to_string())
        .extra({
            let mut extra = BTreeMap::new();
            extra.insert("context".into(), Value::String("Example".to_string()));
            extra
        })
        .build();
    println!("{}", serde_json::to_string_pretty(&JsonError::from(err)).unwrap());
}

输出:

{
  "code": 500,
  "extra": {
    "context": "Example"
  },
  "message": "This is a useless generic error.",
  "msgid": "Err-15452"
}

依赖项

~0.7–1.6MB
~35K SLoC