Rust Util Collection, 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.
shell
make doc
Tips: you can easily implement your own
Error
type.
```rust use myutil::{err::*, *};
const ERR_UNKNOWN: i32 = -100;
fn willpanic() { let l1 = || -> Result<()> { Err(eg!(-9, "The final error message!")) }; let l2 = || -> Result<()> { l1().c(d!()) }; let l3 = || -> Result<()> { l2().c(d!(-11, "A custom message!")) }; let l4 = || -> Result<()> { l3().c(e!(ERRUNKNOWN)) }; let l5 = || -> Result<()> { l4().c(d!(@-12)) };
pnk!(l5());
} ```
```
Error:
|-- eno: -1
|-- file: src/lib.rs
|-- line: 370
-- column: 9
Caused By:
|-- eno: -12
|-- file: src/lib.rs
|-- line: 368
-- column: 44
Caused By: ERR_UNKNOWN
|-- eno: -100
|-- file: src/lib.rs
|-- line: 367
-- column: 44
Caused By: A custom message!
|-- eno: -11
|-- file: src/lib.rs
|-- line: 366
-- column: 44
Caused By:
|-- eno: -1
|-- file: src/lib.rs
|-- line: 365
-- column: 44
Caused By: The final error message!
|-- eno: -9
|-- file: src/lib.rs
|-- line: 364
-- column: 41
```
```
Error: ├── eno: -1 ├── file: src/lib.rs ├── line: 370 └── column: 9 Caused By: ├── eno: -12 ├── file: src/lib.rs ├── line: 368 └── column: 44 Caused By: ERR_UNKNOWN ├── eno: -100 ├── file: src/lib.rs ├── line: 367 └── column: 44 Caused By: A custom message! ├── eno: -11 ├── file: src/lib.rs ├── line: 366 └── column: 44 Caused By: ├── eno: -1 ├── file: src/lib.rs ├── line: 365 └── column: 44 Caused By: The final error message! ├── eno: -9 ├── file: src/lib.rs ├── line: 364 └── column: 41 ```