[−][src]Crate eliza_error
“Times are bad. Children no longer obey their parents, and everyone is writing an error handling library.” — Cicero
fast, cheap, and out of control exceptions for rust.
Usage
First, add this to your Cargo.toml
:
[dependencies]
eliza_error = "0.99.0";
You can now throw exceptions!
use eliza_error::{Error, throw}; fn my_great_function() -> Result<(), Error> { if is_everything_terrible() { throw!("everything is terrible!"); } Ok(()) }
Eliza errors also work fine with errors from the standard library.
use eliza_error::{Error, throw}; use std::fs::File; use std::io::prelude::*; fn look_at_file() -> Result<(), Error> { let mut file = File::open("this_file_doesnt_exist.txt")?; let mut contents = String::new(); file.read_to_string(&mut contents)?; if contents == "everything is terrible!!!" { throw!("wow, everything is still terrible!!!"); } Ok(()) }
Why should I use this?
eliza_error
has no dependencies!eliza_error
can throw exceptions!eliza_error
will support backtraces soon!
Macros
fmt_error | Construct a new error with a message. |
throw | Throw an error with a message, returning early from the current function. |
Type Definitions
Error | An error. |