#throw #error #macro #exception

throws

A macro for easy creation per-function errors

2 releases

Uses old Rust 2015

0.1.2 Jan 10, 2018
0.1.1 Jan 10, 2018

#2164 in Rust patterns

MIT license

7KB
124 lines

Throws

throws! is a macro for easy creation per-function error enums.

Example

throws!(FileDoubleError = Io(io::Error), Parse(ParseIntError));
fn file_double(path: &str) -> Result<i32, FileDoubleError> {
    let mut file = File::open(path)?;
    let mut contents = String::new();

    file.read_to_string(&mut contents)?;
    let n: i32 = contents.trim().parse()?;

    Ok(2 * n)
}

For more, check out the examples directory!

You can run an individual example using cargo run --example example-name.

Installation

If you're using cargo, just add throws to your Cargo.toml:

[dependencies]

throws = "*"

Otherwise, cargo build, and the rlib will be in your target directory.

License

MIT

No runtime deps