die-exit
die-exit is a simple Rust library to make it easy to handle errors and exit in command line programs.
It is forked from the die library, but includes an additional test
feature which will replace
exit behaviour with a call to panic!
in order to facilitate testing.
Cargo.toml
[]
= "0.3"
[]
= "0.3"
= ["test"]
Example usage:
use *;
// Result:
Ok.die; // unwraps to 1 successfully
Err.die; // prints `strange error` to stderr then exits with code 1
// Option:
Some.die; // unwraps to 1 successfully
None.die; // prints `none option` to stderr then exits with code 1
// custom error codes:
Err.die_code; // prints `strange error` to stderr then exits with code 4
None.die_code; // prints `none option` to stderr then exits with code 5
// die! macro:
die!; // prints message to stderr then exits with code 1
die!; // prints message to stderr then exits with code 2
die!; // prints message to stderr then exits with code 3
die!; // prints `argument -e must be 1` to stderr then exits with code 4
die!; // prints `argument -e must be 1` to stderr then exits with code 1
die!; // prints nothing, only exits with code 3
die!; // prints nothing, only exits with code 1
Example testing:
Ensure that the test
feature is turned on.
cargo
Features
- test: Turn this on if you want to run tests where
die
might be used. This will change the behaviour ofdie
and its variants to callpanic!()
instead ofprocess::exit()
.
License
This project is licensed under the MIT license (LICENSE-MIT http://opensource.org/licenses/MIT)