#failure #format #print #terminal

my-pretty-failure

my-pretty-failure 以优雅的方式显示失败(及上下文)

3 个版本

使用旧的 Rust 2015

0.1.2 2018年12月2日
0.1.1 2018年12月2日
0.1.0 2018年12月2日

#70#failure

MIT 许可证

11KB

my-pretty-failure

Build Status codecov License:MIT my-pretty-failure Latest Version

my-pretty-failure 以优雅的方式显示 failure(及上下文)

用法

Cargo.toml

[dependencies]
my-pretty-failure = "0.1.2"

用法 No.1

使用默认选项

extern crate my_pretty_failure;
use my_pretty_failure::myprettyfailure;

fn main() {
    let err = err1().unwrap_err(); // your failure
    println!("{}", myprettyfailure(&err)); // or panic!
}

控制台输出


🔥 error
---------------------------------------------------------
a long err1
---------------------------------------------------------
  caused by: a very long err2
   caused by: an another deep err3
---------------------------------------------------------

用法 No.2

使用您的选项

extern crate my_pretty_failure;
use my_pretty_failure::{myprettyfailure_option, MyPrettyFailurePrint};
extern crate yansi; // or ansi_term, colored ...

fn main() {
    let err = err1().unwrap_err(); // your failure
    println!("{}", myprettyfailure_option(MyPrettyFailurePrint {
        head: format!("🔔 my pretty app catch an {}", yansi::Paint::red("error")),
        separator: "- - - - - - - - - - - - - - - - - - -".to_string(),
        causedby: "context".to_string(),
    }, &err));
}

控制台输出


🔔 my pretty app catch an error
- - - - - - - - - - - - - - - - - - -
a long err1
- - - - - - - - - - - - - - - - - - -
  context: a very long err2
   context: an another deep err3
- - - - - - - - - - - - - - - - - - -

其他示例

cargorun --examplehelpme

许可证

版权所有 © 2018, Alban Minassian

在此特此授予任何获得本软件及其相关文档副本(以下简称“软件”)的人免费使用软件的权利,包括但不限于使用、复制、修改、合并、发布、分发、再许可和/或销售软件副本,并允许获得软件的人进行此类操作,前提是必须遵守以下条件

上述版权声明和本许可声明应包含在软件的所有副本或主要部分中。

软件按“原样”提供,不提供任何形式的保证,无论是明示的还是暗示的,包括但不限于适销性、特定用途的适用性和非侵权性保证。在任何情况下,作者或版权所有者X不对任何索赔、损害或其他责任承担责任,无论是否基于合同、侵权或其他原因,是否因软件或软件的使用或其他交易而产生、产生于或与此类软件或软件的使用或其他交易有关。除非本通知中另有规定,否则不得使用 Alban Minassian 的名称进行广告或以其他方式推广本软件的销售、使用或其他交易,而无需事先获得 Alban Minassian 的书面授权。

依赖关系

~64KB