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.
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());
} ```
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