exitfailure - convenient newtype wrappers for using ? in main()
exitfailure
provides some newtype wrappers to help with using ? in main()
.
It is intended to be used with rust 1.26 and above's "? in main()" feature (see the tracking issue here).
The primary items exported by this library are:
-
ExitFailure
: a wrapper aroundfailure::Error
to allow ? printing from main to present a nicer error message, including any available context and backtrace. -
ExitDisplay<E>
: a wrapper aroundE: std::fmt::Display
to allow the error message from main to useDisplay
and notDebug
.
For more information, including more details on the types, please see the API Documentation.
Example:
extern crate failure;
extern crate exitfailure;
use ResultExt;
use ExitFailure;
This will print, when executed:
Error: this is some context
Info: caused by root cause failure
If the environment variable RUST_BACKTRACE=1 is set, then the printing will
include whatever backtrace information is provided by the failure::Error
that is being wrapped.
License
Licensed under either of
- Apache License, Version 2.0 (LICENSE-APACHE or http://www.apache.org/licenses/LICENSE-2.0)
- MIT license (LICENSE-MIT or http://opensource.org/licenses/MIT)
at your option.
Contribution
Unless you explicitly state otherwise, any contribution intentionally submitted for inclusion in the work by you, as defined in the Apache-2.0 license, shall be dual licensed as above, without any additional terms or conditions.