myutil

A simple and friendly error-chain, with many useful utils as an addition.

The painful experience of using error-chain gave birth to this project. It can adapt to almost all scenes without any special implementation.

Usage

Tips: you can easily implement your own Error.

```rust use myutil::{err::*, *};

fn will_panic() { let l1 = || -> Result<()> { Err(eg!("error!")) }; let l2 = || -> Result<()> { l1().c(d!()) }; let l3 = || -> Result<()> { l2().c(d!()) }; let l4 = || -> Result<()> { l3().c(d!()) };

pnk!(l4());

} ```

OutPut Sample

shell 000000 [pidns: NULL][pid: 46574] 2020-09-06 18:18:32 Error: ├── file: src/lib.rs └── line: 318 Caused By: ├── file: src/lib.rs └── line: 316 Caused By: ├── file: src/lib.rs └── line: 314 Caused By: ├── file: src/lib.rs └── line: 312 Caused By: Some error occur! ├── file: src/lib.rs └── line: 310