#error #failure #across #share #boundaries #thread #shared

shared_failure

在线程边界间克隆和共享错误

1 个不稳定版本

使用旧的 Rust 2015

0.1.0 2018年3月6日

#6 in #boundaries

MIT 许可证

5KB

shared_failure

Build Status Dependency Status

本包旨在提供一个方便且轻量级的方式来克隆错误并在线程边界间共享。

它设计用于与failure包一起使用。

示例

let custom_error = std::io::Error::new(std::io::ErrorKind::Other, "oh no!");

let shared_error = SharedFailure::from_fail(custom_error);

// can be cloned, even though std::io::Error does not impl Clone
let cloned_error = shared_error.clone();

assert_eq!(shared_error.to_string(), "oh no!");
assert_eq!(cloned_error.to_string(), "oh no!");

assert_eq!(shared_error.downcast_ref::<std::io::Error>().unwrap().kind(),
    std::io::ErrorKind::Other);

lib.rs:

本包旨在提供一个方便且轻量级的方式来克隆错误并在线程边界间共享。

它设计用于与failure包一起使用。

示例

#
#
let custom_error = std::io::Error::new(std::io::ErrorKind::Other, "oh no!");

let shared_error = SharedFailure::from_fail(custom_error);

// can be cloned, even though std::io::Error does not impl Clone
let cloned_error = shared_error.clone();

assert_eq!(shared_error.to_string(), "oh no!");
assert_eq!(cloned_error.to_string(), "oh no!");

assert_eq!(shared_error.downcast_ref::<std::io::Error>().unwrap().kind(),
    std::io::ErrorKind::Other);

依赖项

~64KB